|
1 | 1 | cmake_minimum_required(VERSION 3.10)
|
2 |
| -project(MyProject) |
| 2 | +project(ctaylor VERSION 1.0 LANGUAGES CXX) |
3 | 3 |
|
4 |
| -# Check for Boost |
5 |
| -if(NOT DEFINED ENV{BOOST_ROOT}) |
6 |
| - message(FATAL_ERROR "BOOST_ROOT is not set") |
7 |
| -else() |
8 |
| - set(BOOST_ROOT $ENV{BOOST_ROOT}) |
| 4 | +# Ensure C++11 standard or higher is used |
| 5 | +set(CMAKE_CXX_STANDARD 14) |
| 6 | +set(CMAKE_CXX_STANDARD_REQUIRED ON) |
| 7 | + |
| 8 | +# Find the Boost libraries |
| 9 | +find_package(Boost REQUIRED COMPONENTS filesystem system) |
| 10 | + |
| 11 | +if(NOT Boost_FOUND) |
| 12 | + message(FATAL_ERROR "Boost libraries not found!") |
9 | 13 | endif()
|
10 | 14 |
|
11 |
| -find_package(Boost REQUIRED) |
12 |
| -include_directories(${BOOST_ROOT}/include) |
| 15 | +# Include Boost headers |
| 16 | +include_directories(${Boost_INCLUDE_DIRS}) |
13 | 17 |
|
14 | 18 | # Source files
|
15 | 19 | set(TEST_SOURCES
|
@@ -54,27 +58,32 @@ add_executable(vbic95Taylor VBIC95/VBIC95.cpp LUFAC/lufac.cpp)
|
54 | 58 | add_executable(black_scholes BLACK_SCHOLES/autodiff_black_scholes.cpp)
|
55 | 59 | add_executable(black_scholes_orig BLACK_SCHOLES/autodiff_black_scholes_orig.cpp)
|
56 | 60 | add_executable(logistic_regression logistic_regression/logistic_regression.cpp)
|
57 |
| -add_executable(test_exe ${TEST_SOURCES}) # Renaming the target to avoid issues |
58 |
| - |
59 |
| -# Custom clean target |
60 |
| -add_custom_target(clean_all |
61 |
| - COMMAND ${CMAKE_COMMAND} -E rm -f $(OBJECTS) |
62 |
| - COMMAND ${CMAKE_COMMAND} -E rm -f ctaylor.exe vbic95Jac.exe vbic95Taylor.exe black_scholes.exe cjacobian.exe black_scholes_orig.exe logistic_regression.exe test_exe |
63 |
| -) |
| 61 | +add_executable(test_exe ${TEST_SOURCES}) |
64 | 62 |
|
65 |
| -# Include directories and libraries |
66 |
| -target_include_directories(ctaylor PRIVATE ${BOOST_ROOT}/include) |
67 |
| -target_include_directories(vbic95Jac PRIVATE ${BOOST_ROOT}/include) |
68 |
| -target_include_directories(vbic95Taylor PRIVATE ${BOOST_ROOT}/include) |
69 |
| -target_include_directories(black_scholes PRIVATE ${BOOST_ROOT}/include) |
70 |
| -target_include_directories(black_scholes_orig PRIVATE ${BOOST_ROOT}/include) |
71 |
| -target_include_directories(logistic_regression PRIVATE ${BOOST_ROOT}/include) |
72 |
| -target_include_directories(test_exe PRIVATE ${BOOST_ROOT}/include) # Updated target name |
| 63 | +# Include directories |
| 64 | +target_include_directories(ctaylor PRIVATE ${Boost_INCLUDE_DIRS}) |
| 65 | +target_include_directories(vbic95Jac PRIVATE ${Boost_INCLUDE_DIRS}) |
| 66 | +target_include_directories(vbic95Taylor PRIVATE ${Boost_INCLUDE_DIRS}) |
| 67 | +target_include_directories(black_scholes PRIVATE ${Boost_INCLUDE_DIRS}) |
| 68 | +target_include_directories(black_scholes_orig PRIVATE ${Boost_INCLUDE_DIRS}) |
| 69 | +target_include_directories(logistic_regression PRIVATE ${Boost_INCLUDE_DIRS}) |
| 70 | +target_include_directories(test_exe PRIVATE ${Boost_INCLUDE_DIRS}) |
73 | 71 |
|
| 72 | +# Link Boost libraries |
74 | 73 | target_link_libraries(ctaylor ${Boost_LIBRARIES})
|
75 | 74 | target_link_libraries(vbic95Jac ${Boost_LIBRARIES})
|
76 | 75 | target_link_libraries(vbic95Taylor ${Boost_LIBRARIES})
|
77 | 76 | target_link_libraries(black_scholes ${Boost_LIBRARIES})
|
78 | 77 | target_link_libraries(black_scholes_orig ${Boost_LIBRARIES})
|
79 | 78 | target_link_libraries(logistic_regression ${Boost_LIBRARIES})
|
80 |
| -target_link_libraries(test_exe ${Boost_LIBRARIES}) # Updated target name |
| 79 | +target_link_libraries(test_exe ${Boost_LIBRARIES}) |
| 80 | + |
| 81 | +# Optionally, add include directories for your own headers |
| 82 | +target_include_directories(ctaylor PRIVATE include) |
| 83 | +# Repeat for other targets as needed |
| 84 | + |
| 85 | +# Enable testing |
| 86 | +enable_testing() |
| 87 | + |
| 88 | +# Add tests if any (adjust accordingly) |
| 89 | +add_test(NAME ctaylor_test COMMAND ctaylor) |
0 commit comments