@@ -3,13 +3,22 @@ cmake_minimum_required(VERSION 3.5)
33project (Forscape VERSION 0.0.3 LANGUAGES CXX )
44set (EXE_NAME "Forscape" )
55
6- set (CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} /conan-dependencies ${CMAKE_MODULE_PATH} )
7- include (${CMAKE_BINARY_DIR} /conan-dependencies/conanbuildinfo.cmake )
8- conan_basic_setup (NO_OUTPUT_DIRS KEEP_RPATHS )
9- include_directories (${CONAN_INCLUDE_DIRS} )
6+ option (USE_CONAN "Use Conan for dependency management" ON )
7+
8+ if (USE_CONAN)
9+ set (CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} /conan-dependencies ${CMAKE_MODULE_PATH} )
10+ include (${CMAKE_BINARY_DIR} /conan-dependencies/conanbuildinfo.cmake )
11+ conan_basic_setup (NO_OUTPUT_DIRS KEEP_RPATHS )
12+ include_directories (${CONAN_INCLUDE_DIRS} )
13+ add_compile_definitions (USE_CONAN_EIGEN )
14+ endif ()
1015
1116find_package (Eigen3 REQUIRED )
12- find_package (phmap REQUIRED )
17+ # This is a header only library, that should be included in the system's
18+ # default include directory if conan is not used.
19+ if (USE_CONAN)
20+ find_package (phmap REQUIRED )
21+ endif ()
1322find_package (readerwriterqueue REQUIRED )
1423
1524set (CMAKE_INCLUDE_CURRENT_DIR ON )
@@ -268,6 +277,7 @@ if(QT_VERSION_MAJOR EQUAL 6)
268277endif ()
269278
270279add_compile_definitions ($<$<CONFIG :Release >:EIGEN_NO_DEBUG >)
280+ include (CheckCXXCompilerFlag )
271281
272282if (MSVC )
273283 target_compile_options (Forscape PRIVATE
@@ -285,9 +295,10 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
285295 $<$<CONFIG :Release >: -Ofast -fmodulo -sched -fmodulo -sched -allow -regmoves -fgcse -sm -fgcse -las -fdelete -null -pointer -checks
286296 -fomit -frame -pointer -funroll -loops -fvisibility =hidden -fwhole -program -flto >
287297 )
288- target_link_options (Forscape PRIVATE
289- -Wa,-mbig-obj
290- )
298+ check_cxx_compiler_flag ("-Wa,-mbig-obj" HAS_MBIG_OBJ )
299+ if (HAS_MBIG_OBJ)
300+ target_link_options (Forscape PRIVATE "-Wa,-mbig-obj" )
301+ endif ()
291302elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
292303 # using Clang
293304elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" )
@@ -306,7 +317,7 @@ add_custom_target(
306317
307318add_dependencies (Forscape codegen )
308319
320+ install (TARGETS Forscape RUNTIME )
309321if (${MAKE_DEB} )
310- install (TARGETS Forscape RUNTIME )
311322 include (Packing.cmake )
312323endif ()
0 commit comments