@@ -6,21 +6,28 @@ cmake_minimum_required(VERSION 3.22)
6
6
# dehancer-common-cpp:0.14.0
7
7
# base64cpp:1.2.0
8
8
# ed25519cpp:1.4.0
9
- # dehancer-xmp-cpp:0.10 .0
10
- # dehancer-maths-cpp:0.8 .0
9
+ # dehancer-xmp-cpp:0.11 .0
10
+ # dehancer-maths-cpp:0.9 .0
11
11
# dehancer-opencl-helper:0.5.0
12
12
#
13
13
14
14
set (GIT_TAG_dehancer_xmp_cpp "develop" )
15
15
set (GIT_TAG_dehancer_maths_cpp "develop" )
16
16
set (GIT_TAG_dehancer_opencl_helper "develop" )
17
17
18
- if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
19
- set (GIT_TAG_dehancer_xmp_cpp "0.10 .0" )
20
- set (GIT_TAG_dehancer_maths_cpp "0.8 .0" )
18
+ if (NOT DEHANCER_DEBUG )
19
+ set (GIT_TAG_dehancer_xmp_cpp "0.11 .0" )
20
+ set (GIT_TAG_dehancer_maths_cpp "0.9 .0" )
21
21
set (GIT_TAG_dehancer_opencl_helper "0.5.0" )
22
22
endif ()
23
23
24
+ file (TO_CMAKE_PATH "${CMAKE_INSTALL_PREFIX} " CMAKE_INSTALL_PREFIX )
25
+ file (TO_CMAKE_PATH "$ENV{PKG_CONFIG_PATH} " PKG_CONFIG_PATH)
26
+ set (ENV{PKG_CONFIG_PATH} ${PKG_CONFIG_PATH} )
27
+
28
+ message (STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX} " )
29
+ message (STATUS "PKG_CONFIG_PATH: $ENV{PKG_CONFIG_PATH} " )
30
+
24
31
#
25
32
# Project
26
33
#
@@ -105,6 +112,12 @@ if(DEHANCER_CONTROLLED_SINGLETON)
105
112
add_definitions (-DDEHANCER_CONTROLLED_SINGLETON=1)
106
113
endif ()
107
114
115
+ #
116
+ # External projects
117
+ #
118
+ include (ExternalProject)
119
+ include (FetchContent)
120
+
108
121
# googletest, etc
109
122
set (EXTERNAL_LOCATION ${CMAKE_CURRENT_SOURCE_DIR} /external)
110
123
set (EXTERNAL_INSTALL_LOCATION ${CMAKE_BINARY_DIR} /external)
@@ -190,7 +203,7 @@ set(BUILD_SHARED_LIBS OFF)
190
203
if (WIN32 )
191
204
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -EHsc -Wno-deprecated-declarations -Wno-unused-function" )
192
205
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd" )
193
- add_definitions (/MT /DWIN32=1 /D_ITERATOR_DEBUG_LEVEL=0 /D_USE_MATH_DEFINES)
206
+ add_definitions (/MT /DWIN32=1 /D_ITERATOR_DEBUG_LEVEL=0 /D_USE_MATH_DEFINES /GR /Ob0 )
194
207
195
208
string (TOLOWER ${CMAKE_BUILD_TYPE} BUILD_TYPE )
196
209
@@ -231,20 +244,6 @@ else()
231
244
endif ()
232
245
endif ()
233
246
234
- #
235
- # Packages
236
- #
237
- if (WIN32 )
238
- set (ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH} ;/usr/local/lib/pkgconfig" )
239
- set (ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH} ;/usr/local/lib64/pkgconfig" )
240
- set (ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH} ;$ENV{SYSROOT} ;/usr/local/dehancer/lib/pkgconfig" )
241
- else ()
242
- set (ENV{PKG_CONFIG_PATH} $ENV{PKG_CONFIG_PATH} :/usr/local/lib/pkgconfig)
243
- set (ENV{PKG_CONFIG_PATH} $ENV{PKG_CONFIG_PATH} :/usr/local/lib64/pkgconfig)
244
- set (ENV{PKG_CONFIG_PATH} $ENV{PKG_CONFIG_PATH} :$ENV{SYSROOT} :/usr/local/dehancer/lib/pkgconfig)
245
- endif ()
246
-
247
-
248
247
if (USE_OPENCOLORIO)
249
248
message (STATUS "USE OPENCOLORIO" )
250
249
#pkg_check_modules(OpenColorIO OpenColorIO)
@@ -290,58 +289,48 @@ else()
290
289
291
290
endif ()
292
291
293
- if (LINUX)
294
- set (CMAKE_INSTALL_LIBDIR "lib" )
295
- set (DEHANCER_EXT_MATH_LIB)
296
292
297
- add_definitions (-D_GLIBCXX_USE_CXX11_ABI=1)
298
- set (FORTRAN_LIB_PATHS ${CMAKE_SYSTEM_LIBRARY_PATH} ;/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/gcc/x86_64-linux-gnu/8;/usr/lib/gcc/x86_64-linux-gnu;/lib64;/lib;/usr/lib64;/usr/lib;/usr/local/lib64;/usr/local/lib;/opt/local/lib64;/opt/local/lib)
293
+ #
294
+ ##
295
+ ## Maths
296
+ ##
297
+ FetchContent_Declare(
298
+ dehancer_maths_cpp
299
+ GIT_REPOSITORY https://github.com/dehancer/dehancer-maths-cpp
300
+ GIT_TAG ${GIT_TAG_dehancer_maths_cpp}
301
+ SOURCE_DIR "${CMAKE_BINARY_DIR} /dehancer_maths_cpp-src"
302
+ BINARY_DIR "${CMAKE_BINARY_DIR} /dehancer_maths_cpp-build"
303
+ )
299
304
300
- find_library (GFORTRAN_LIBRARY
301
- NAMES gfortran
302
- PATHS ${FORTRAN_LIB_PATHS}
303
- )
305
+ FetchContent_GetProperties(dehancer_maths_cpp)
306
+ FetchContent_MakeAvailable(dehancer_maths_cpp)
307
+ if (NOT dehancer_maths_cpp_POPULATED)
308
+ FetchContent_Populate(dehancer_maths_cpp)
309
+ add_subdirectory (${dehancer_maths_cpp_SOURCE_DIR} ${dehancer_maths_cpp_BINARY_DIR} )
310
+ endif ()
304
311
305
- find_library (GQUADMATH_LIBRARY
306
- NAMES quadmath
307
- PATHS ${FORTRAN_LIB_PATHS}
308
- )
312
+ include_directories (
313
+ ${dehancer_maths_cpp_SOURCE_DIR} / include
314
+ ${armadillo_SOURCE_DIR} / include
315
+ )
309
316
310
- message ( "GFORTRAN_LIBRARY: ${GFORTRAN_LIBRARY} " )
317
+ set (COMMON_LIBRARIES dehancer_maths_cpp; ${COMMON_LIBRARIES} )
311
318
312
- # foreach(v ${BLAS_LIBRARIES})
313
- # string(REPLACE ".so" ".a" vv ${v})
314
- # set(DEHANCER_EXT_MATH_LIB ${DEHANCER_EXT_MATH_LIB};${vv})
315
- # endforeach()
316
- #
317
- # foreach(v ${LAPACK_LIBRARIES})
318
- # string(REPLACE ".so" ".a" vv ${v})
319
- # set(DEHANCER_EXT_MATH_LIB ${DEHANCER_EXT_MATH_LIB};${vv})
320
- # endforeach()
321
-
322
- # foreach(v ${GFORTRAN_LIBRARY})
323
- # string(REPLACE ".so" ".a" vv ${v})
324
- # set(DEHANCER_EXT_MATH_LIB ${DEHANCER_EXT_MATH_LIB};${vv})
325
- # endforeach()
326
- #
327
- # foreach(v ${GQUADMATH_LIBRARY})
328
- # string(REPLACE ".so" ".a" vv ${v})
329
- # set(DEHANCER_EXT_MATH_LIB ${DEHANCER_EXT_MATH_LIB};${vv})
330
- # endforeach()
319
+
320
+ if (LINUX)
321
+ set (CMAKE_INSTALL_LIBDIR "lib" )
322
+ set (DEHANCER_EXT_MATH_LIB)
323
+
324
+ add_definitions (-D_GLIBCXX_USE_CXX11_ABI=1)
331
325
332
326
set (DEHANCER_EXT_MATH_LIB ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} )
333
- find_library (GFORTRAN_LIB NAMES gfortran)
334
- if (gfortran_FOUND)
335
- set (DEHANCER_EXT_MATH_LIB ${DEHANCER_EXT_MATH_LIB} ;${GFORTRAN_LIB} ;m)
336
- else ()
337
- set (DEHANCER_EXT_MATH_LIB ${DEHANCER_EXT_MATH_LIB} ;m)
338
- endif ()
339
327
340
328
find_library (DEHANCER_EXT_MATH_LIB REQUIRED ${DEHANCER_EXT_MATH} )
341
329
342
330
else ()
343
331
set (DEHANCER_EXT_MATH_LIB ${BLAS_LIBRARIES} ;${LAPACK_LIBRARIES} )
344
332
endif ()
333
+
345
334
include_directories (${BLAS_INCLUDE_DIRS} ${LAPACK_INCLUDE_DIRS} )
346
335
message ("BLASS/LAPACK: ${DEHANCER_EXT_MATH_LIB} " )
347
336
@@ -391,11 +380,6 @@ if (DEHANCER_GPU_CUDA)
391
380
endif ()
392
381
set (CMAKE_CUDA_COMPILER_FLAGS "-DWIN32 -DWIN64 -D_CONSOLE -D_MBCS /EHsc" )
393
382
394
- #
395
- # TODO: OpenCL on WIN!
396
- #
397
- # set(DEHANCER_GPU_OPENCL OFF)
398
-
399
383
else ()
400
384
401
385
set (CMAKE_CUDA_COMPILER_FLAGS "-D_CONSOLE" )
@@ -458,9 +442,10 @@ if (DEHANCER_GPU_OPENCL)
458
442
set (DEHANCER_GPU_OPENCL ON )
459
443
else ()
460
444
set (DEHANCER_GPU_OPENCL OFF )
461
- message ("OpenCL is not found on this platform" )
445
+ message (FATAL_ERROR "OpenCL is not found on this platform" )
462
446
endif ()
463
447
add_definitions (-DDEHANCER_GPU_OPENCL=1)
448
+ message (STATUS "OpenCL: ${OpenCL_INCLUDE_DIRS} " )
464
449
endif ()
465
450
466
451
@@ -510,13 +495,7 @@ if (DEHANCER_GPU_CUDA)
510
495
endif ()
511
496
512
497
#
513
- # External projects
514
- #
515
- include (ExternalProject)
516
- include (FetchContent)
517
-
518
- #
519
- # Global setttings
498
+ # Global settings
520
499
#
521
500
set (VERSION_FILE "version.txt" )
522
501
@@ -696,31 +675,6 @@ else ()
696
675
697
676
endif ()
698
677
699
- #
700
- ##
701
- ## Maths
702
- ##
703
- FetchContent_Declare(
704
- dehancer_maths_cpp
705
- GIT_REPOSITORY https://github.com/dehancer/dehancer-maths-cpp
706
- GIT_TAG ${GIT_TAG_dehancer_maths_cpp}
707
- SOURCE_DIR "${CMAKE_BINARY_DIR} /dehancer_maths_cpp-src"
708
- BINARY_DIR "${CMAKE_BINARY_DIR} /dehancer_maths_cpp-build"
709
- )
710
-
711
- FetchContent_GetProperties(dehancer_maths_cpp)
712
- if (NOT dehancer_maths_cpp_POPULATED)
713
- FetchContent_Populate(dehancer_maths_cpp)
714
- add_subdirectory (${dehancer_maths_cpp_SOURCE_DIR} ${dehancer_maths_cpp_BINARY_DIR} )
715
- endif ()
716
-
717
- include_directories (
718
- ${dehancer_maths_cpp_SOURCE_DIR} /include
719
- ${armadillo_SOURCE_DIR} /include
720
- )
721
-
722
- set (COMMON_LIBRARIES dehancer_maths_cpp;${COMMON_LIBRARIES} )
723
-
724
678
if (USE_OPENCOLORIO)
725
679
#
726
680
# AcademySoftwareFoundation OpenColorIO. ACES and etc...
@@ -802,7 +756,8 @@ set(COMMON_LIBRARIES
802
756
${CMAKE_DL_LIBS} ;
803
757
)
804
758
805
- message ("COMMON_LIBRARIES: ${COMMON_LIBRARIES} " )
759
+ message (STATUS "COMMON_LIBRARIES: ${COMMON_LIBRARIES} " )
760
+ message (STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX} " )
806
761
807
762
if (BUILD_UTILS)
808
763
if (NOT IOS)
0 commit comments