-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists_old.txt
More file actions
145 lines (114 loc) · 4.31 KB
/
CMakeLists_old.txt
File metadata and controls
145 lines (114 loc) · 4.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
cmake_minimum_required(VERSION 3.10)
# Force AppleClang toolchain on macOS to avoid libc++ / header mismatches
#if(APPLE)
# set(CMAKE_C_COMPILER "/usr/bin/clang" CACHE FILEPATH "C compiler" FORCE)
# set(CMAKE_CXX_COMPILER "/usr/bin/clang++" CACHE FILEPATH "C++ compiler" FORCE)
#endif()
# set the project name and version
project(CompactStar VERSION 2.0 DESCRIPTION "Compact Star")
string(TIMESTAMP CompactStar_RELEASE_DATE "%m, %d, %Y")
# specify the C++ standard
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# add_compile_options(-Wall -Wextra -pedantic -Werror -g)
# add_compile_options(-pthread -Wall -Wextra -pedantic -ggdb3)
add_compile_options(-pthread)
# For using gnuplot in the future
# find_package(Boost REQUIRED COMPONENTS
# iostreams system filesystem
# )
# set(root_cmake_path "/opt/local/libexec/root6/share/root/cmake")
# set(CMAKE_PREFIX_PATH ${root_cmake_path})
# find_package(ROOT REQUIRED)
# set(ROOT_LIBS
# ROOT::Core
# ROOT::Gpad
# ROOT::Graf
# ROOT::Hist
# )
find_package(GSL REQUIRED)
set(DEP_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/lib)
set(DEP_INC_DIR dependencies/include)
set(ZAKI_LIB ${DEP_LIB_DIR}/Zaki/${CMAKE_SYSTEM_NAME}/${CMAKE_HOST_SYSTEM_PROCESSOR}/libZaki.a)
set(CONFIND_LIB ${DEP_LIB_DIR}/Confind/${CMAKE_SYSTEM_NAME}/${CMAKE_HOST_SYSTEM_PROCESSOR}/libConfind.a)
# list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})
# -----------------------------
# Python / NumPy configuration
# -----------------------------
# Prefer Conda/Miniforge Python if we're in a conda env.
if(DEFINED ENV{CONDA_PREFIX})
# This will be something like /Users/keeper/miniforge3
set(Python3_ROOT_DIR "$ENV{CONDA_PREFIX}")
# Make the executable explicit; cache so it persists between runs.
set(Python3_EXECUTABLE "$ENV{CONDA_PREFIX}/bin/python"
CACHE FILEPATH "Python 3 executable from active conda environment" FORCE)
endif()
# for matplotlib:
find_package(Python3 COMPONENTS Interpreter Development NumPy REQUIRED)
# configure a header file to pass some of the CMake settings
# to the source code
configure_file(CompactStarConfig.h.in ${CMAKE_CURRENT_SOURCE_DIR}/CompactStar/Core/CompactStarConfig.h)
find_package(OpenMP REQUIRED)
target_link_libraries(CompactStar PUBLIC OpenMP::OpenMP_CXX)
# IF(OPENMP_FOUND)
# SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
# ENDIF()
add_subdirectory(CompactStar)
add_library(CompactStar STATIC ${CompactStar_SRC_Files})
set_target_properties(CompactStar PROPERTIES VERSION ${PROJECT_VERSION})
target_include_directories(CompactStar
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
${GSL_INCLUDE_DIRS}
${DEP_INC_DIR}
# ${ROOT_INCLUDE_DIRS}
# OpenMP::OpenMP_CXX
)
target_link_libraries(CompactStar PUBLIC
${ZAKI_LIB}
# ${ROOT_LIBS}
${CONFIND_LIB}
GSL::gsl
GSL::gslcblas
Python3::Python # for matplotlib
Python3::Module # for matplotlib
Python3::NumPy
OpenMP::OpenMP_CXX
# Boost::iostreams
# Boost::system
# Boost::filesystem
)
install(TARGETS CompactStar DESTINATION lib)
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/include"
DESTINATION dependencies)
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/lib"
DESTINATION dependencies)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/License" DESTINATION Docs)
# Option for generating the doxygen docs
option(GEN_DOCS "Generate documents using doxygen." OFF)
if(GEN_DOCS)
execute_process(
COMMAND
doxygen ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
endif()
# install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/doxygen/html" DESTINATION Docs)
add_subdirectory(main)
# foreach(src ${CompactStar_main_SRC_Files})
# add_executable(${src} "main/${src}.cpp")
# target_link_libraries(${src} PUBLIC CompactStar)
# target_include_directories(${src} PUBLIC
# ${CMAKE_CURRENT_SOURCE_DIR}/include
# ${GSL_INCLUDE_DIRS}
# ${DEP_INC_DIR}
# )
# install(FILES "main/${src}.cpp" DESTINATION main)
# install(TARGETS ${src} DESTINATION main/${src})
# endforeach()
include(InstallRequiredSystemLibraries)
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
set(CPACK_PACKAGE_VERSION_MAJOR "${CompactStar_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${CompactStar_VERSION_MINOR}")
include(CPack)