1
1
option (BUILD_SCCD "Enable sccd c library" TRUE )
2
- if (BUILD_SCCD)
2
+ set (THREADS_PREFER_PTHREAD_FLAG ON )
3
+
4
+ # Find required external libraries
5
+ find_package (Threads REQUIRED)
6
+ find_package (ZLIB REQUIRED)
7
+ if (WIN32 )
8
+ set (CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES} )
9
+ endif ()
10
+ find_package (GSL REQUIRED)
3
11
4
- set (THREADS_PREFER_PTHREAD_FLAG ON )
12
+ enable_language (Fortran)
13
+ # Corresponds to FFLAGS
14
+ set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -fPIC" )
5
15
6
- # Find required external libraries
7
- find_package (Threads REQUIRED)
8
- find_package (ZLIB REQUIRED)
9
- find_package (GSL REQUIRED)
16
+ # Hacks:
17
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC" )
10
18
11
- # enable_language(Fortran)
12
- # Corresponds to FFLAGS
13
- set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -fPIC" )
19
+ add_library (GLMnet STATIC "GLMnet.f" )
20
+
21
+ set (SCCD_MODULE_NAME "sccd" )
22
+ if (BUILD_SCCD)
14
23
15
- # Hacks:
16
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC" )
17
-
18
- add_library (GLMnet STATIC "GLMnet.f" )
19
24
# set_target_properties(GLMnet PROPERTIES LINKER_LANGUAGE Fortran)
20
25
21
- set (SCCD_MODULE_NAME "sccd" )
22
26
# Add other C sources
23
27
list (APPEND sccd_sources "cold.c" "input.c" "2d_array.c" "utilities.c" "misc.c" "multirobust.c" "output.c" "s_ccd.c" "KFAS.c" "lbfgs.c" "distribution_math.c" )
24
28
## Create C++ library. Specify include dirs and link libs as normal
@@ -28,28 +32,6 @@ if (BUILD_SCCD)
28
32
# I'm having trouble making the shared library work.
29
33
add_library (${SCCD_MODULE_NAME} STATIC ${sccd_sources} )
30
34
31
- #target_include_directories(
32
- # ${SCCD_MODULE_NAME}
33
- # PUBLIC
34
- # ${NumPy_INCLUDE_DIRS}
35
- # ${PYTHON_INCLUDE_DIRS}
36
- # ${CMAKE_CURRENT_SOURCE_DIR}
37
- #)
38
-
39
- #message(STATUS "ZLIB::ZLIB = ${ZLIB::ZLIB}")
40
- #message(STATUS "Threads::Threads = ${Threads::Threads}")
41
- message (STATUS "Threads = ${Threads} " )
42
-
43
- # LIB = -L$(GSL_SCI_LIB) -lz -lpthread -lgsl -lgslcblas -lgfortran -lm
44
- target_link_libraries (
45
- ${SCCD_MODULE_NAME} PUBLIC
46
- ZLIB::ZLIB
47
- Threads::Threads
48
- GSL::gsl
49
- GSL::gslcblas
50
- GLMnet
51
- )
52
-
53
35
#target_compile_definitions(${SCCD_MODULE_NAME} PUBLIC
54
36
# "NPY_NO_DEPRECATED_API"
55
37
# #"NPY_1_7_API_VERSION=0x00000007"
@@ -65,54 +47,37 @@ if (BUILD_SCCD)
65
47
#install(TARGETS ${SCCD_MODULE_NAME} LIBRARY DESTINATION "${_install_dest}../tool/python/pycold")
66
48
67
49
else () # build standalone program that accepts csv as input, mainly for testing purpose
68
- set (THREADS_PREFER_PTHREAD_FLAG ON )
69
-
70
- # Find required external libraries
71
- find_package (Threads REQUIRED)
72
- find_package (ZLIB REQUIRED)
73
- find_package (GSL REQUIRED)
74
-
75
- enable_language (Fortran)
76
50
77
51
set (CMAKE_BUILD_TYPE Debug)
78
52
79
- # Corresponds to FFLAGS
80
- set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -fPIC" )
81
-
82
- # Hacks:
83
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC" )
84
-
85
- add_library (GLMnet STATIC "GLMnet.f" )
86
53
set_target_properties (GLMnet PROPERTIES LINKER_LANGUAGE Fortran)
87
54
88
-
89
- set (SCCD_MODULE_NAME "cold" )
90
55
# Add other C sources
91
56
list (APPEND sccd_sources "cold.c" "input.c" "2d_array.c" "utilities.c" "misc.c" "multirobust.c" "output.c" "s_ccd.c" "KFAS.c" "lbfgs.c" "distribution_math.c" "sccd-desktop.c" )
92
57
## Create C++ library. Specify include dirs and link libs as normal
93
58
94
59
add_executable (${SCCD_MODULE_NAME} ${sccd_sources} )
95
60
96
- #target_include_directories(
97
- # ${SCCD_MODULE_NAME}
98
- # PUBLIC
99
- # ${NumPy_INCLUDE_DIRS}
100
- # ${PYTHON_INCLUDE_DIRS}
101
- # ${CMAKE_CURRENT_SOURCE_DIR}
102
- #)
103
-
104
- #message(STATUS "ZLIB::ZLIB = ${ZLIB::ZLIB}")
105
- #message(STATUS "Threads::Threads = ${Threads::Threads}")
106
- message (STATUS "Threads = ${Threads} " )
107
-
108
- # LIB = -L$(GSL_SCI_LIB) -lz -lpthread -lgsl -lgslcblas -lgfortran -lm
109
- target_link_libraries (
110
- ${SCCD_MODULE_NAME} PUBLIC
111
- ZLIB::ZLIB
112
- Threads::Threads
113
- GSL::gsl
114
- GSL::gslcblas
115
- GLMnet
116
- )
117
61
endif ()
118
62
63
+ #target_include_directories(
64
+ # ${SCCD_MODULE_NAME}
65
+ # PUBLIC
66
+ # ${NumPy_INCLUDE_DIRS}
67
+ # ${PYTHON_INCLUDE_DIRS}
68
+ # ${CMAKE_CURRENT_SOURCE_DIR}
69
+ #)
70
+
71
+ #message(STATUS "ZLIB::ZLIB = ${ZLIB::ZLIB}")
72
+ #message(STATUS "Threads::Threads = ${Threads::Threads}")
73
+ message (STATUS "Threads = ${Threads} " )
74
+
75
+ # LIB = -L$(GSL_SCI_LIB) -lz -lpthread -lgsl -lgslcblas -lgfortran -lm
76
+ target_link_libraries (
77
+ ${SCCD_MODULE_NAME} PUBLIC
78
+ ZLIB::ZLIB
79
+ Threads::Threads
80
+ GSL::gsl
81
+ GSL::gslcblas
82
+ GLMnet
83
+ )
0 commit comments