11cmake_minimum_required (VERSION 3.10 )
2- if (POLICY CMP0091)
2+ # Allow the user to specify the MSVC runtime
3+ if (POLICY CMP0091) # >= 3.15
34 cmake_policy (SET CMP0091 NEW )
45endif ()
56project (myframe
6- VERSION 0.9.9
7+ VERSION 1.0.0
78 LANGUAGES CXX
89)
910
@@ -14,6 +15,7 @@ option(MYFRAME_GENERATE_TEST "Generate test executable program" ON)
1415option (MYFRAME_INSTALL_TEMPLATE "Install template project" ON )
1516option (MYFRAME_INSTALL_LAUNCHER "Install launcher program" ON )
1617option (MYFRAME_ENABLE_ASAN "Enable ASAN" OFF )
18+ option (MYFRAME_ENABLE_PYBIND "Enable Python bindings" OFF )
1719
1820### cmake module
1921set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR} /cmake" )
@@ -50,11 +52,16 @@ set(MYFRAME_LIB_DIR "lib")
5052set (MYFRAME_LOG_DIR "log" )
5153set (MYFRAME_SERVICE_DIR "service" )
5254set (MYFRAME_CONF_DIR "conf" )
55+ set (MYFRAME_PYTHON_DIR "lib/python" )
5356
5457### deps libs
5558find_package (Threads REQUIRED )
5659find_package (jsoncpp REQUIRED )
5760find_package (glog REQUIRED )
61+ if (MYFRAME_ENABLE_PYBIND)
62+ find_package (SWIG REQUIRED )
63+ find_package (Python COMPONENTS Development REQUIRED )
64+ endif ()
5865
5966get_target_property (glog_lib_type glog::glog TYPE )
6067get_target_property (jsoncpp_lib_type JsonCpp::JsonCpp TYPE )
@@ -70,6 +77,9 @@ endif()
7077if (MYFRAME_GENERATE_TEST)
7178 add_subdirectory (test )
7279endif ()
80+ if (MYFRAME_ENABLE_PYBIND)
81+ add_subdirectory (python )
82+ endif ()
7383
7484### install file/dir
7585install (FILES
0 commit comments