From d3084ed1369d6a3123ba53e5d792c789f5e92803 Mon Sep 17 00:00:00 2001 From: Alex Swindler Date: Wed, 7 May 2014 15:02:21 -0600 Subject: [PATCH] Formatted CMakeLists.txt --- CMakeLists.txt | 120 +++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 59 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0d979f2..bf51e60 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.8) project(chaiscript) # MINGW does not yet support C++11's concurrency features -if (MINGW) +if(MINGW) option(MULTITHREAD_SUPPORT_ENABLED "Multithreaded Support Enabled" FALSE) else() option(MULTITHREAD_SUPPORT_ENABLED "Multithreaded Support Enabled" TRUE) @@ -14,30 +14,30 @@ option(BUILD_MODULES "Build Extra Modules (stl, reflection)" TRUE) option(BUILD_SAMPLES "Build Samples Folder" FALSE) -if (CMAKE_COMPILER_IS_GNUCC) +if(CMAKE_COMPILER_IS_GNUCC) option(ENABLE_COVERAGE "Enable Coverage Reporting in GCC" FALSE) - if (ENABLE_COVERAGE) + if(ENABLE_COVERAGE) add_definitions(--coverage -O0) set(LINKER_FLAGS "${LINKER_FLAGS} --coverage") endif() endif() -if (CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") +if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") option(ENABLE_THREAD_SANITIZER "Enable thread sanitizer testing in gcc/clang" FALSE) - if (ENABLE_THREAD_SANITIZER) + if(ENABLE_THREAD_SANITIZER) add_definitions(-fsanitize=thread -g) set(LINKER_FLAGS "${LINKER_FLAGS} -fsanitize=thread") endif() option(ENABLE_ADDRESS_SANITIZER "Enable address sanitizer testing in gcc/clang" FALSE) - if (ENABLE_ADDRESS_SANITIZER) + if(ENABLE_ADDRESS_SANITIZER) add_definitions(-fsanitize=address -g) set(LINKER_FLAGS "${LINKER_FLAGS} -fsanitize=address") endif() option(ENABLE_UNDEFINED_SANITIZER "Enable undefined behavior sanitizer testing in gcc/clang" FALSE) - if (ENABLE_UNDEFINED_SANITIZER) + if(ENABLE_UNDEFINED_SANITIZER) add_definitions(-fsanitize=undefined -g) set(LINKER_FLAGS "${LINKER_FLAGS} -fsanitize=undefined") endif() @@ -91,20 +91,20 @@ enable_testing() message(STATUS "Detecting readline support") -if (READLINE_LIBRARY) - message(STATUS "Found: ${READLINE_LIBRARY}") - set (READLINE_LIB readline) - add_definitions(/DREADLINE_AVAILABLE) -else(READLINE_LIBRARY) - message(STATUS "Not Found") - set (READLINE_LIB ) - set (READLINE_FLAG ) -endif(READLINE_LIBRARY) +if(READLINE_LIBRARY) + message(STATUS "Found: ${READLINE_LIBRARY}") + set(READLINE_LIB readline) + add_definitions(/DREADLINE_AVAILABLE) +else() + message(STATUS "Not Found") + set(READLINE_LIB) + set(READLINE_FLAG) +endif() -if (CMAKE_COMPILER_IS_GNUCC) +if(CMAKE_COMPILER_IS_GNUCC) execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) - if (GCC_VERSION VERSION_LESS 4.8) + if(GCC_VERSION VERSION_LESS 4.8) set(CPP11_FLAG "-std=c++0x") else() set(CPP11_FLAG "-std=c++11") @@ -123,22 +123,22 @@ if(MSVC) # The error did not come up until the move to C++11, but the compiler doesn't give enough information # to determine where the error is coming from, and the internet provides no real information for # how to workaround or fix the error. So I'm disabling it globally. - ADD_DEFINITIONS(/wd4503) + add_definitions(/wd4503) else() add_definitions(-Wall -Wextra -Wshadow -Wnon-virtual-dtor -pedantic ${CPP11_FLAG}) - if (APPLE) + if(APPLE) add_definitions(-Wno-sign-compare) endif() endif() -if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") option(USE_LIBCXX "Use clang's libcxx" TRUE) - if (USE_LIBCXX) + if(USE_LIBCXX) add_definitions(-stdlib=libc++) set(LINKER_FLAGS "${LINKER_FLAGS} ${CPP11_FLAG} -stdlib=libc++") - else () + else() set(LINKER_FLAGS "${LINKER_FLAGS} ${CPP11_FLAG}") endif() elseif(CMAKE_COMPILER_IS_GNUCC) @@ -147,31 +147,30 @@ endif() # limitations in MinGW require us to make an optimized build # for the sake of object sizes or something -if (MINGW) +if(MINGW) add_definitions(-O3) endif() include_directories(include) -set (Chai_INCLUDES include/chaiscript/chaiscript.hpp include/chaiscript/chaiscript_threading.hpp include/chaiscript/dispatchkit/bad_boxed_cast.hpp include/chaiscript/dispatchkit/bind_first.hpp include/chaiscript/dispatchkit/bootstrap.hpp include/chaiscript/dispatchkit/bootstrap_stl.hpp include/chaiscript/dispatchkit/boxed_cast.hpp include/chaiscript/dispatchkit/boxed_cast_helper.hpp include/chaiscript/dispatchkit/boxed_number.hpp include/chaiscript/dispatchkit/boxed_value.hpp include/chaiscript/dispatchkit/dispatchkit.hpp include/chaiscript/dispatchkit/dynamic_cast_conversion.hpp include/chaiscript/dispatchkit/dynamic_object.hpp include/chaiscript/dispatchkit/exception_specification.hpp include/chaiscript/dispatchkit/function_call.hpp include/chaiscript/dispatchkit/function_call_detail.hpp include/chaiscript/dispatchkit/handle_return.hpp include/chaiscript/dispatchkit/operators.hpp include/chaiscript/dispatchkit/proxy_constructors.hpp include/chaiscript/dispatchkit/proxy_functions.hpp include/chaiscript/dispatchkit/proxy_functions_detail.hpp include/chaiscript/dispatchkit/register_function.hpp include/chaiscript/dispatchkit/type_info.hpp include/chaiscript/language/chaiscript_algebraic.hpp include/chaiscript/language/chaiscript_common.hpp include/chaiscript/language/chaiscript_engine.hpp include/chaiscript/language/chaiscript_eval.hpp include/chaiscript/language/chaiscript_parser.hpp include/chaiscript/language/chaiscript_prelude.chai include/chaiscript/language/chaiscript_prelude_docs.hpp include/chaiscript/utility/utility.hpp) +set(Chai_INCLUDES include/chaiscript/chaiscript.hpp include/chaiscript/chaiscript_threading.hpp include/chaiscript/dispatchkit/bad_boxed_cast.hpp include/chaiscript/dispatchkit/bind_first.hpp include/chaiscript/dispatchkit/bootstrap.hpp include/chaiscript/dispatchkit/bootstrap_stl.hpp include/chaiscript/dispatchkit/boxed_cast.hpp include/chaiscript/dispatchkit/boxed_cast_helper.hpp include/chaiscript/dispatchkit/boxed_number.hpp include/chaiscript/dispatchkit/boxed_value.hpp include/chaiscript/dispatchkit/dispatchkit.hpp include/chaiscript/dispatchkit/dynamic_cast_conversion.hpp include/chaiscript/dispatchkit/dynamic_object.hpp include/chaiscript/dispatchkit/exception_specification.hpp include/chaiscript/dispatchkit/function_call.hpp include/chaiscript/dispatchkit/function_call_detail.hpp include/chaiscript/dispatchkit/handle_return.hpp include/chaiscript/dispatchkit/operators.hpp include/chaiscript/dispatchkit/proxy_constructors.hpp include/chaiscript/dispatchkit/proxy_functions.hpp include/chaiscript/dispatchkit/proxy_functions_detail.hpp include/chaiscript/dispatchkit/register_function.hpp include/chaiscript/dispatchkit/type_info.hpp include/chaiscript/language/chaiscript_algebraic.hpp include/chaiscript/language/chaiscript_common.hpp include/chaiscript/language/chaiscript_engine.hpp include/chaiscript/language/chaiscript_eval.hpp include/chaiscript/language/chaiscript_parser.hpp include/chaiscript/language/chaiscript_prelude.chai include/chaiscript/language/chaiscript_prelude_docs.hpp include/chaiscript/utility/utility.hpp) set_source_files_properties(${Chai_INCLUDES} PROPERTIES HEADER_FILE_ONLY TRUE) -if (MULTITHREAD_SUPPORT_ENABLED) -else() +if(NOT MULTITHREAD_SUPPORT_ENABLED) add_definitions(-DCHAISCRIPT_NO_THREADS) endif() -if (CMAKE_HOST_UNIX) - if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") +if(CMAKE_HOST_UNIX) + if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") list(APPEND LIBS "dl") - endif(NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + endif() - if (MULTITHREAD_SUPPORT_ENABLED) - if (CMAKE_COMPILER_IS_GNUCC) + if(MULTITHREAD_SUPPORT_ENABLED) + if(CMAKE_COMPILER_IS_GNUCC) execute_process(COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE GCC_FULL_VERSION) - if (GCC_FULL_VERSION MATCHES "4.8.1.*ubuntu") + if(GCC_FULL_VERSION MATCHES "4.8.1.*ubuntu") set(LINKER_FLAGS "${LINKER_FLAGS} -Wl,--no-as-needed -pthread") else() set(LINKER_FLAGS "${LINKER_FLAGS} -pthread") @@ -183,7 +182,7 @@ if (CMAKE_HOST_UNIX) add_definitions(-pthread) endif() -endif(CMAKE_HOST_UNIX) +endif() list(APPEND LIBS ${READLINE_LIB}) @@ -199,7 +198,7 @@ add_executable(chai src/main.cpp ${Chai_INCLUDES}) target_link_libraries(chai ${LIBS}) add_dependencies(chai chaiscript_stdlib-${CHAI_VERSION}) -if (BUILD_SAMPLES) +if(BUILD_SAMPLES) add_executable(example samples/example.cpp) target_link_libraries(example ${LIBS}) add_executable(memory_leak_test samples/memory_leak_test.cpp) @@ -207,7 +206,7 @@ if (BUILD_SAMPLES) endif() -if (BUILD_MODULES) +if(BUILD_MODULES) add_library(stl_extra MODULE src/stl_extra.cpp) target_link_libraries(stl_extra ${LIBS}) @@ -225,7 +224,7 @@ if(BUILD_TESTING) add_test(version_check chai -c "if(\"\\\${ version() };\\\${version_major()};\\\${version_minor()};\\\${version_patch()}\" != \"${CHAI_VERSION};${CPACK_PACKAGE_VERSION_MAJOR};${CPACK_PACKAGE_VERSION_MINOR};${CPACK_PACKAGE_VERSION_PATCH}\") { exit(-1) }") set_property(TEST version_check - PROPERTY ENVIRONMENT + PROPERTY ENVIRONMENT "CHAI_USE_PATH=${CMAKE_CURRENT_SOURCE_DIR}/unittests/" "CHAI_MODULE_PATH=${CMAKE_CURRENT_BINARY_DIR}/" ) @@ -234,15 +233,15 @@ if(BUILD_TESTING) foreach(filename ${UNIT_TESTS}) message(STATUS "Adding test ${filename}") add_test(${filename} chai ${CMAKE_CURRENT_SOURCE_DIR}/unittests/unit_test.inc ${CMAKE_CURRENT_SOURCE_DIR}/unittests/${filename}) - endforeach(filename) + endforeach() set_property(TEST ${UNIT_TESTS} - PROPERTY ENVIRONMENT + PROPERTY ENVIRONMENT "CHAI_USE_PATH=${CMAKE_CURRENT_SOURCE_DIR}/unittests/" "CHAI_MODULE_PATH=${CMAKE_CURRENT_BINARY_DIR}/" ) - if (NOT UNIT_TEST_LIGHT) + if(NOT UNIT_TEST_LIGHT) # commented out because uniform initializer syntax is not working properly in MSVC 2013 add_executable(utility_test unittests/utility_test.cpp) target_link_libraries(utility_test ${LIBS}) @@ -316,7 +315,7 @@ if(BUILD_TESTING) target_link_libraries(arithmetic_conversions_test ${LIBS}) add_test(NAME Arithmetic_Conversions_Test COMMAND arithmetic_conversions_test) - if (MULTITHREAD_SUPPORT_ENABLED) + if(MULTITHREAD_SUPPORT_ENABLED) add_executable(multithreaded_test unittests/multithreaded_test.cpp) target_link_libraries(multithreaded_test ${LIBS}) add_test(NAME Multithreaded_Test COMMAND multithreaded_test) @@ -324,13 +323,16 @@ if(BUILD_TESTING) PROPERTY ENVIRONMENT "CHAI_USE_PATH=${CMAKE_CURRENT_SOURCE_DIR}/unittests/" "CHAI_MODULE_PATH=${CMAKE_CURRENT_BINARY_DIR}/" - ) + ) endif() - add_executable(multifile_test unittests/multifile_test_main.cpp unittests/multifile_test_chai.cpp - unittests/multifile_test_module.cpp) + add_executable(multifile_test + unittests/multifile_test_main.cpp + unittests/multifile_test_chai.cpp + unittests/multifile_test_module.cpp + ) target_link_libraries(multifile_test ${LIBS}) add_test(NAME MultiFile_Test COMMAND multifile_test) @@ -339,26 +341,26 @@ if(BUILD_TESTING) install(TARGETS test_module RUNTIME DESTINATION bin LIBRARY DESTINATION lib/chaiscript) endif() -endif(BUILD_TESTING) +endif() -install(TARGETS chai chaiscript_stdlib-${CHAI_VERSION} ${MODULES} RUNTIME DESTINATION bin LIBRARY DESTINATION lib/chaiscript ) +install(TARGETS chai chaiscript_stdlib-${CHAI_VERSION} ${MODULES} RUNTIME DESTINATION bin LIBRARY DESTINATION lib/chaiscript) install(DIRECTORY include/chaiscript DESTINATION include - PATTERN "*.hpp" - PATTERN "*/.svn*" EXCLUDE - PATTERN "*/.git*" EXCLUDE - PATTERN "*~" EXCLUDE) + PATTERN "*.hpp" + PATTERN "*/.svn*" EXCLUDE + PATTERN "*/.git*" EXCLUDE + PATTERN "*~" EXCLUDE) install(DIRECTORY unittests DESTINATION share/chaiscript - PATTERN "*.chai" - PATTERN "*.inc" - PATTERN "*/.svn*" EXCLUDE - PATTERN "*/.git*" EXCLUDE - PATTERN "*~" EXCLUDE) + PATTERN "*.chai" + PATTERN "*.inc" + PATTERN "*/.svn*" EXCLUDE + PATTERN "*/.git*" EXCLUDE + PATTERN "*~" EXCLUDE) install(DIRECTORY samples DESTINATION share/chaiscript - PATTERN "*.chai" - PATTERN "*/.svn*" EXCLUDE - PATTERN "*/.git*" EXCLUDE - PATTERN "*~" EXCLUDE) + PATTERN "*.chai" + PATTERN "*/.svn*" EXCLUDE + PATTERN "*/.git*" EXCLUDE + PATTERN "*~" EXCLUDE) configure_file(contrib/pkgconfig/chaiscript.pc.in lib/pkgconfig/chaiscript.pc @ONLY) install(FILES "${chaiscript_BINARY_DIR}/lib/pkgconfig/chaiscript.pc"