1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
Description: looking for Python3 instead of Python
- First we put the upstream CMakeModules folder after the pristine
CMAKE_MODULE_PATH, as some of those files are provided by Debian packages.
- Then we use find_package(Python3) instead of find_package(Python),
and of find_package(NumPy) which invokes find_package(PythonInterp).
- Some variables thus need to be changed in the remaining of the file.
Author: Pierre Gruet <pgt@debian.org>
Forwarded: Xavier Warin <xavier.warin@gmail.com>
Last-Update: 2022-02-21
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,7 +7,7 @@
string(REGEX REPLACE " *\"" "" VERSION_STRING "${VERSION_STRING}")
MESSAGE(STATUS "StOpt version : ${VERSION_STRING}")
PROJECT(LIBRARY_STOPT VERSION ${VERSION_STRING} LANGUAGES CXX)
-SET(CMAKE_MODULE_PATH "${LIBRARY_STOPT_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH}")
+SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${LIBRARY_STOPT_SOURCE_DIR}/CMakeModules")
SET(CMAKE_MACOSX_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
IF(NOT CMAKE_BUILD_TYPE)
@@ -188,9 +188,9 @@
# Python
- FIND_PACKAGE(Python REQUIRED COMPONENTS Interpreter Development NumPy)
- INCLUDE_DIRECTORIES(SYSTEM ${Python_INCLUDE_DIRS})
- MESSAGE(STATUS "Python: ${Python_INCLUDE_DIRS}")
+ FIND_PACKAGE(Python3 REQUIRED COMPONENTS Interpreter Development NumPy)
+ INCLUDE_DIRECTORIES(SYSTEM ${Python3_INCLUDE_DIRS})
+ MESSAGE(STATUS "Python: ${Python3_INCLUDE_DIRS}")
# find pybind
find_package(PyBind11 REQUIRED)
@@ -234,27 +234,27 @@
ELSE()
ADD_LIBRARY(StOptGrids SHARED ${SOURCE_PYTHON}/Pybind11StOptGrids.cpp)
- TARGET_LINK_LIBRARIES(StOptGrids ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python_LIBRARIES})
+ TARGET_LINK_LIBRARIES(StOptGrids ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python3_LIBRARIES})
SET_TARGET_PROPERTIES(StOptGrids PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ADD_LIBRARY(StOptReg SHARED ${SOURCE_PYTHON}/Pybind11StOptReg.cpp)
- TARGET_LINK_LIBRARIES(StOptReg ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python_LIBRARIES})
+ TARGET_LINK_LIBRARIES(StOptReg ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python3_LIBRARIES})
SET_TARGET_PROPERTIES(StOptReg PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ADD_LIBRARY(StOptTree SHARED ${SOURCE_PYTHON}/Pybind11StOptTree.cpp)
- TARGET_LINK_LIBRARIES(StOptTree ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python_LIBRARIES})
+ TARGET_LINK_LIBRARIES(StOptTree ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python3_LIBRARIES})
SET_TARGET_PROPERTIES(StOptTree PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ADD_LIBRARY(StOptGeners SHARED ${SOURCE_PYTHON}/Pybind11StOptGeners.cpp)
- TARGET_LINK_LIBRARIES(StOptGeners ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python_LIBRARIES})
+ TARGET_LINK_LIBRARIES(StOptGeners ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python3_LIBRARIES})
SET_TARGET_PROPERTIES(StOptGeners PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ADD_LIBRARY(StOptGlobal SHARED ${SOURCE_PYTHON}/Pybind11StOptGlobal.cpp)
- TARGET_LINK_LIBRARIES(StOptGlobal ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python_LIBRARIES})
+ TARGET_LINK_LIBRARIES(StOptGlobal ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python3_LIBRARIES})
SET_TARGET_PROPERTIES(StOptGlobal PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ADD_LIBRARY(StOptCDF SHARED ${SOURCE_PYTHON}/Pybind11StOptCDF.cpp)
- TARGET_LINK_LIBRARIES(StOptCDF ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python_LIBRARIES})
+ TARGET_LINK_LIBRARIES(StOptCDF ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python3_LIBRARIES})
SET_TARGET_PROPERTIES(StOptCDF PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
@@ -275,7 +275,7 @@
TARGET_LINK_LIBRARIES(StOptSDDP ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Boost_TIMER_LIBRARY} )
SET_TARGET_PROPERTIES(StOptSDDP PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION" LINK_FLAGS "-undefined dynamic_lookup" )
ELSE()
- TARGET_LINK_LIBRARIES(StOptSDDP ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Boost_TIMER_LIBRARY} ${Python_LIBRARIES})
+ TARGET_LINK_LIBRARIES(StOptSDDP ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Boost_TIMER_LIBRARY} ${Python3_LIBRARIES})
SET_TARGET_PROPERTIES(StOptSDDP PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ENDIF()
# INSTALLATION
@@ -331,13 +331,13 @@
SET_TARGET_PROPERTIES(Utils PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION" LINK_FLAGS "-undefined dynamic_lookup" )
ELSE()
ADD_LIBRARY(Simulators SHARED ${SOURCE_PYTHON}/Pybind11Simulators.cpp)
- TARGET_LINK_LIBRARIES(Simulators ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python_LIBRARIES} ${STOPTTEST_LIB})
+ TARGET_LINK_LIBRARIES(Simulators ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python3_LIBRARIES} ${STOPTTEST_LIB})
SET_TARGET_PROPERTIES(Simulators PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ADD_LIBRARY(Optimizers SHARED ${SOURCE_PYTHON}/Pybind11Optimizers.cpp)
- TARGET_LINK_LIBRARIES(Optimizers ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python_LIBRARIES})
+ TARGET_LINK_LIBRARIES(Optimizers ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python3_LIBRARIES})
SET_TARGET_PROPERTIES(Optimizers PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ADD_LIBRARY(Utils SHARED ${SOURCE_PYTHON}/Pybind11Utils.cpp)
- TARGET_LINK_LIBRARIES(Utils ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python_LIBRARIES})
+ TARGET_LINK_LIBRARIES(Utils ${STOPT_LIB} ${GENERS_LIB} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python3_LIBRARIES})
SET_TARGET_PROPERTIES(Utils PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ENDIF()
@@ -708,13 +708,13 @@
SET_TARGET_PROPERTIES(SDDPSimulators PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION" LINK_FLAGS "-undefined dynamic_lookup")
ELSE()
ADD_LIBRARY(StOptSDDPUnitTest SHARED ${SOURCE_PYTHON}/Pybind11SDDPUnitTest.cpp)
- TARGET_LINK_LIBRARIES(StOptSDDPUnitTest ${STOPT_LIB} ${GENERS_LIB} ${Boost_TIMER_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python_LIBRARIES} ${Boost_RANDOM_LIBRARY})
+ TARGET_LINK_LIBRARIES(StOptSDDPUnitTest ${STOPT_LIB} ${GENERS_LIB} ${Boost_TIMER_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${Python3_LIBRARIES} ${Boost_RANDOM_LIBRARY})
SET_TARGET_PROPERTIES(StOptSDDPUnitTest PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ADD_LIBRARY(SDDPOptimizers SHARED ${SOURCE_PYTHON}/Pybind11SDDPOptimizers.cpp)
- TARGET_LINK_LIBRARIES(SDDPOptimizers ${STOPT_LIB} ${GENERS_LIB} ${Boost_TIMER_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${PTHREAD_LIBRARY} ${COIN_LIBRARIES} ${Python_LIBRARIES} ${Boost_RANDOM_LIBRARY})
+ TARGET_LINK_LIBRARIES(SDDPOptimizers ${STOPT_LIB} ${GENERS_LIB} ${Boost_TIMER_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${PTHREAD_LIBRARY} ${COIN_LIBRARIES} ${Python3_LIBRARIES} ${Boost_RANDOM_LIBRARY})
SET_TARGET_PROPERTIES(SDDPOptimizers PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ADD_LIBRARY(SDDPSimulators SHARED ${SOURCE_PYTHON}/Pybind11SDDPSimulators.cpp)
- TARGET_LINK_LIBRARIES(SDDPSimulators ${STOPT_LIB} ${GENERS_LIB} ${Boost_TIMER_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${PTHREAD_LIBRARY} ${COIN_LIBRARIES} ${Python_LIBRARIES} ${Boost_RANDOM_LIBRARY})
+ TARGET_LINK_LIBRARIES(SDDPSimulators ${STOPT_LIB} ${GENERS_LIB} ${Boost_TIMER_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} ${Boost_MPI_LIBRARY} ${PTHREAD_LIBRARY} ${COIN_LIBRARIES} ${Python3_LIBRARIES} ${Boost_RANDOM_LIBRARY})
SET_TARGET_PROPERTIES(SDDPSimulators PROPERTIES PREFIX "" SUFFIX ${PYTHON_SUFFIX} COMPILE_DEFINITIONS "PYTHONMODULE;NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION")
ENDIF()
# INSTALLATION
|