Skip to content

Commit ddc4788

Browse files
committed
[codegen][CMakeLists] define PYCPPAD_BUILD_CPPAD_CODEGEN_BINDINGS
1 parent 51fa5ca commit ddc4788

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

CMakeLists.txt

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/find-external/CppAD/" ${CMAKE_M
3131
# Project definition
3232
COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
3333
PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
34-
CHECK_MINIMAL_CXX_STANDARD(14 ENFORCE)
34+
CHECK_MINIMAL_CXX_STANDARD(11 ENFORCE)
3535

3636

3737
FINDPYTHON()
@@ -46,6 +46,13 @@ ADD_PROJECT_DEPENDENCY(cppad 20180000.0 REQUIRED PKG_CONFIG_REQUIRES "cppad >= 2
4646
ADD_PROJECT_DEPENDENCY(Eigen3 REQUIRED PKG_CONFIG_REQUIRES "eigen3 >= 3.0.5")
4747
ADD_PROJECT_DEPENDENCY(eigenpy 2.6.5 REQUIRED)
4848

49+
OPTION(BUILD_CODEGEN_BINDINGS "Build the python bindings for code generation (via CppADCodeGen)" ON)
50+
51+
IF(BUILD_CODEGEN_BINDINGS)
52+
ADD_PROJECT_DEPENDENCY(cppadcg 2.4.1 REQUIRED PKG_CONFIG_REQUIRES "cppadcg >= 2.4.1") # CppADCodeGen 2.4.1 is the first version to check the minimal version of CppAD
53+
ADD_DEFINITIONS(-DPYCPPAD_BUILD_CPPAD_CODEGEN_BINDINGS)
54+
ENDIF(BUILD_CODEGEN_BINDINGS)
55+
4956
SET(${PROJECT_NAME}_HEADERS
5057
include/${PROJECT_NAME}/fwd.hpp
5158
include/${PROJECT_NAME}/ad.hpp
@@ -59,6 +66,13 @@ SET(${PROJECT_NAME}_SOURCES
5966
src/cppad.cpp
6067
)
6168

69+
IF(BUILD_CODEGEN_BINDINGS)
70+
LIST(APPEND ${PROJECT_NAME}_HEADERS
71+
include/${PROJECT_NAME}/codegen/cg.hpp
72+
include/${PROJECT_NAME}/codegen/cppadcg-scalar.hpp
73+
)
74+
ENDIF(BUILD_CODEGEN_BINDINGS)
75+
6276
ADD_LIBRARY(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS})
6377

6478
IF(SUFFIX_SO_VERSION)

0 commit comments

Comments
 (0)