diff options
author | Kirk Shoop <kirk.shoop@microsoft.com> | 2015-06-04 07:52:22 -0700 |
---|---|---|
committer | Kirk Shoop <kirk.shoop@microsoft.com> | 2015-06-04 08:22:07 -0700 |
commit | 001ac1e827530a3b0e7411b77c37be89c95251c0 (patch) | |
tree | 4500b72e2e15a8f2253ee72f3487530c2c276296 /Rx/v2/examples | |
parent | 73b1adbbabb43c8bb887178de628e0871e6b350d (diff) | |
download | RxCpp-001ac1e827530a3b0e7411b77c37be89c95251c0.tar.gz |
CMake - require 3.2 and refactor
NOTE: binaries have moved!
OSX
<build>/test/rxcppv2_test
<build>/examples/pythagorian/pythagorian
Windows
<build>\test\Debug\rxcppv2_test.exe
<build>\examples\pythagorian\Debug\pythagorian.exe
NOTE: cmake can be run in the root! This will make a dir named build
with the binaries
cmake .
cmake --build .
Diffstat (limited to 'Rx/v2/examples')
-rw-r--r-- | Rx/v2/examples/cep/CMakeLists.txt | 41 | ||||
-rw-r--r-- | Rx/v2/examples/doxygen/CMakeLists.txt | 32 | ||||
-rw-r--r-- | Rx/v2/examples/println/CMakeLists.txt | 34 | ||||
-rw-r--r-- | Rx/v2/examples/pythagorian/CMakeLists.txt | 34 | ||||
-rw-r--r-- | Rx/v2/examples/stop/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Rx/v2/examples/tests/CMakeLists.txt | 35 |
6 files changed, 148 insertions, 30 deletions
diff --git a/Rx/v2/examples/cep/CMakeLists.txt b/Rx/v2/examples/cep/CMakeLists.txt index c04bead..542a858 100644 --- a/Rx/v2/examples/cep/CMakeLists.txt +++ b/Rx/v2/examples/cep/CMakeLists.txt @@ -1,30 +1,8 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.2 FATAL_ERROR) get_filename_component(SAMPLE_PROJECT "${CMAKE_CURRENT_SOURCE_DIR}" NAME) -project(${SAMPLE_PROJECT}) - -FIND_PACKAGE(Threads) - -MESSAGE( STATUS "CMAKE_CXX_COMPILER_ID: " ${CMAKE_CXX_COMPILER_ID} ) -if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") - MESSAGE( STATUS "using clang settings" ) - add_compile_options( -Wall -Wextra -Werror ) - add_compile_options( -std=c++11 -stdlib=libc++ ) - add_compile_options( -ftemplate-depth=1024 ) # sometimes you just do what the compiler tells you -elseif (CMAKE_CXX_COMPILER_ID MATCHES "GNU") - MESSAGE( STATUS "using gnu settings" ) - add_compile_options( -Wall -Wextra -Werror ) - add_compile_options( -std=c++11 ) -elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - MESSAGE( STATUS "using msvc settings" ) - add_compile_options( /W4 /WX ) - add_compile_options( /wd4503 ) # truncated symbol - add_compile_options( /wd4702 ) # unreachable code - add_compile_options( /bigobj ) - add_definitions( /DUNICODE /D_UNICODE ) # it is a new millenium -endif() - +project(${SAMPLE_PROJECT} LANGUAGES C CXX) # define some folders get_filename_component(RXCPP_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PATH) @@ -34,20 +12,25 @@ get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) MESSAGE( STATUS "RXCPP_DIR: " ${RXCPP_DIR} ) -include_directories(SYSTEM ${RXCPP_DIR}/ext/catch/include) -include_directories(${RXCPP_DIR}/Ix/CPP/src ${RXCPP_DIR}/Rx/v2/src) +include(${RXCPP_DIR}/projects/CMake/shared.cmake) # define the sources set(SAMPLE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp ) add_executable(${SAMPLE_PROJECT} ${SAMPLE_SOURCES}) -TARGET_LINK_LIBRARIES(${SAMPLE_PROJECT} ${CMAKE_THREAD_LIBS_INIT}) +add_executable(rxcpp::examples::${SAMPLE_PROJECT} ALIAS ${SAMPLE_PROJECT}) +target_compile_options(${SAMPLE_PROJECT} PUBLIC ${RX_COMPILE_OPTIONS}) +target_compile_features(${SAMPLE_PROJECT} PUBLIC ${RX_COMPILE_FEATURES}) +target_include_directories(${SAMPLE_PROJECT} + PUBLIC ${RX_SRC_DIR} ${RX_CATCH_DIR} + ) +target_link_libraries(${SAMPLE_PROJECT} ${CMAKE_THREAD_LIBS_INIT}) # configure unit tests via CTest enable_testing() set(CTEST_CONFIGURATION_TYPE "${JOB_BUILD_CONFIGURATION}") -add_test(NAME RunTests +add_test(NAME RunTests WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" - COMMAND ${SAMPLE_PROJECT} ${TEST_ARGS})
\ No newline at end of file + COMMAND ${SAMPLE_PROJECT} ${TEST_ARGS}) diff --git a/Rx/v2/examples/doxygen/CMakeLists.txt b/Rx/v2/examples/doxygen/CMakeLists.txt new file mode 100644 index 0000000..d89b175 --- /dev/null +++ b/Rx/v2/examples/doxygen/CMakeLists.txt @@ -0,0 +1,32 @@ +cmake_minimum_required(VERSION 3.2 FATAL_ERROR) + +get_filename_component(SAMPLE_PROJECT "${CMAKE_CURRENT_SOURCE_DIR}" NAME) + +project(${SAMPLE_PROJECT} LANGUAGES C CXX) + +# define some folders +get_filename_component(RXCPP_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) + +MESSAGE( STATUS "RXCPP_DIR: " ${RXCPP_DIR} ) + +include(${RXCPP_DIR}/projects/CMake/shared.cmake) + +# define the sources +file(GLOB SAMPLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp") +add_executable(${SAMPLE_PROJECT} ${SAMPLE_SOURCES}) +add_executable(rxcpp::examples::${SAMPLE_PROJECT} ALIAS ${SAMPLE_PROJECT}) +target_compile_options(${SAMPLE_PROJECT} PUBLIC ${RX_COMPILE_OPTIONS}) +target_compile_features(${SAMPLE_PROJECT} PUBLIC ${RX_COMPILE_FEATURES}) +target_include_directories(${SAMPLE_PROJECT} PUBLIC ${RX_SRC_DIR} ${RX_CATCH_DIR}) +target_link_libraries(${SAMPLE_PROJECT} ${CMAKE_THREAD_LIBS_INIT}) + +# configure unit tests via CTest +enable_testing() +set(CTEST_CONFIGURATION_TYPE "${JOB_BUILD_CONFIGURATION}") + +add_test(NAME RunTests + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + COMMAND ${SAMPLE_PROJECT} ${TEST_ARGS}) diff --git a/Rx/v2/examples/println/CMakeLists.txt b/Rx/v2/examples/println/CMakeLists.txt new file mode 100644 index 0000000..82cd2a4 --- /dev/null +++ b/Rx/v2/examples/println/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.2 FATAL_ERROR) + +get_filename_component(SAMPLE_PROJECT "${CMAKE_CURRENT_SOURCE_DIR}" NAME) + +project(${SAMPLE_PROJECT} LANGUAGES C CXX) + +# define some folders +get_filename_component(RXCPP_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) + +MESSAGE( STATUS "RXCPP_DIR: " ${RXCPP_DIR} ) + +include(${RXCPP_DIR}/projects/CMake/shared.cmake) + +# define the sources +set(SAMPLE_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp +) +add_executable(${SAMPLE_PROJECT} ${SAMPLE_SOURCES}) +add_executable(rxcpp::examples::${SAMPLE_PROJECT} ALIAS ${SAMPLE_PROJECT}) +target_compile_options(${SAMPLE_PROJECT} PUBLIC ${RX_COMPILE_OPTIONS}) +target_compile_features(${SAMPLE_PROJECT} PUBLIC ${RX_COMPILE_FEATURES}) +target_include_directories(${SAMPLE_PROJECT} PUBLIC ${RX_SRC_DIR}) +target_link_libraries(${SAMPLE_PROJECT} ${CMAKE_THREAD_LIBS_INIT}) + +# configure unit tests via CTest +enable_testing() +set(CTEST_CONFIGURATION_TYPE "${JOB_BUILD_CONFIGURATION}") + +add_test(NAME RunTests + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + COMMAND ${SAMPLE_PROJECT} ${TEST_ARGS}) diff --git a/Rx/v2/examples/pythagorian/CMakeLists.txt b/Rx/v2/examples/pythagorian/CMakeLists.txt new file mode 100644 index 0000000..82cd2a4 --- /dev/null +++ b/Rx/v2/examples/pythagorian/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.2 FATAL_ERROR) + +get_filename_component(SAMPLE_PROJECT "${CMAKE_CURRENT_SOURCE_DIR}" NAME) + +project(${SAMPLE_PROJECT} LANGUAGES C CXX) + +# define some folders +get_filename_component(RXCPP_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) + +MESSAGE( STATUS "RXCPP_DIR: " ${RXCPP_DIR} ) + +include(${RXCPP_DIR}/projects/CMake/shared.cmake) + +# define the sources +set(SAMPLE_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp +) +add_executable(${SAMPLE_PROJECT} ${SAMPLE_SOURCES}) +add_executable(rxcpp::examples::${SAMPLE_PROJECT} ALIAS ${SAMPLE_PROJECT}) +target_compile_options(${SAMPLE_PROJECT} PUBLIC ${RX_COMPILE_OPTIONS}) +target_compile_features(${SAMPLE_PROJECT} PUBLIC ${RX_COMPILE_FEATURES}) +target_include_directories(${SAMPLE_PROJECT} PUBLIC ${RX_SRC_DIR}) +target_link_libraries(${SAMPLE_PROJECT} ${CMAKE_THREAD_LIBS_INIT}) + +# configure unit tests via CTest +enable_testing() +set(CTEST_CONFIGURATION_TYPE "${JOB_BUILD_CONFIGURATION}") + +add_test(NAME RunTests + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + COMMAND ${SAMPLE_PROJECT} ${TEST_ARGS}) diff --git a/Rx/v2/examples/stop/CMakeLists.txt b/Rx/v2/examples/stop/CMakeLists.txt index b1791ad..82cd2a4 100644 --- a/Rx/v2/examples/stop/CMakeLists.txt +++ b/Rx/v2/examples/stop/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.2 FATAL_ERROR) get_filename_component(SAMPLE_PROJECT "${CMAKE_CURRENT_SOURCE_DIR}" NAME) -project(${SAMPLE_PROJECT} LANGUAGES CXX) +project(${SAMPLE_PROJECT} LANGUAGES C CXX) # define some folders get_filename_component(RXCPP_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PATH) diff --git a/Rx/v2/examples/tests/CMakeLists.txt b/Rx/v2/examples/tests/CMakeLists.txt new file mode 100644 index 0000000..af849ff --- /dev/null +++ b/Rx/v2/examples/tests/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 3.2 FATAL_ERROR) + +get_filename_component(SAMPLE_PROJECT "${CMAKE_CURRENT_SOURCE_DIR}" NAME) + +project(${SAMPLE_PROJECT} LANGUAGES C CXX) + +# define some folders +get_filename_component(RXCPP_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) +get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) + +MESSAGE( STATUS "RXCPP_DIR: " ${RXCPP_DIR} ) + +include(${RXCPP_DIR}/projects/CMake/shared.cmake) + +# define the sources +set(SAMPLE_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/take.cpp +) +add_executable(${SAMPLE_PROJECT} ${SAMPLE_SOURCES}) +add_executable(rxcpp::examples::${SAMPLE_PROJECT} ALIAS ${SAMPLE_PROJECT}) +target_compile_options(${SAMPLE_PROJECT} PUBLIC ${RX_COMPILE_OPTIONS}) +target_compile_features(${SAMPLE_PROJECT} PUBLIC ${RX_COMPILE_FEATURES}) +target_include_directories(${SAMPLE_PROJECT} PUBLIC ${RX_SRC_DIR} ${RX_CATCH_DIR}) +target_link_libraries(${SAMPLE_PROJECT} ${CMAKE_THREAD_LIBS_INIT}) + +# configure unit tests via CTest +enable_testing() +set(CTEST_CONFIGURATION_TYPE "${JOB_BUILD_CONFIGURATION}") + +add_test(NAME RunTests + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + COMMAND ${SAMPLE_PROJECT} ${TEST_ARGS}) |