1- ############################################################################### #
2- # cmake settings
1+ # -------------------------------------------------------------------------------------- #
2+ # cmake settings
33#
44cmake_minimum_required (VERSION 3.8...3.20 )
55if (${CMAKE_VERSION } VERSION_LESS 3.12)
@@ -28,15 +28,19 @@ string(REGEX REPLACE "(\n|\r)" "" VERSION_STRING "${VERSION_STRING}")
2828string (REGEX REPLACE "[A-Za-z].*" "" VERSION_STRING "${VERSION_STRING} " )
2929set (PTL_VERSION "${VERSION_STRING} " )
3030
31- ################################################################################
32- # project setup
31+ # -------------------------------------------------------------------------------------- #
32+ # -------------------------------------------------------------------------------------- #
33+ # project setup
3334#
34- project (PTL LANGUAGES C CXX VERSION ${PTL_VERSION} )
35+ project (
36+ PTL
37+ LANGUAGES C CXX
38+ VERSION ${PTL_VERSION} )
3539
3640# Postprocess version info to create variables for export to Version.hh
3741set (PTL_VERSION_STRING "${PTL_VERSION_MAJOR} .${PTL_VERSION_MINOR} .${PTL_VERSION_PATCH} " )
3842math (EXPR PTL_VERSION_CODE
39- "10000 * ${PTL_VERSION_MAJOR} + 100 * ${PTL_VERSION_MINOR} + ${PTL_VERSION_PATCH} " )
43+ "10000 * ${PTL_VERSION_MAJOR} + 100 * ${PTL_VERSION_MINOR} + ${PTL_VERSION_PATCH} " )
4044
4145# Project-local CMake settings
4246set (CMAKE_DIRECTORY_LABELS "PTL" )
@@ -47,47 +51,51 @@ set(CMAKE_LINK_DEPENDS_NO_SHARED ON)
4751list (INSERT CMAKE_MODULE_PATH 0 ${CMAKE_CURRENT_LIST_DIR } /cmake/Modules)
4852include (PTLCMakeUtilities )
4953
50- ############################################################################### #
54+ # -------------------------------------------------------------------------------------- #
5155# Build/Install settings and options
5256include (PTLInstallDirs )
5357include (PTLBuildSettings )
5458
55- ############################################################################### #
59+ # -------------------------------------------------------------------------------------- #
5660# User options
5761ptl_add_option (PTL_USE_TBB "Enable TBB" ON )
58- ptl_add_option (PTL_USE_LOCKS "Enable mutex locking in task subqueues for extra safety" OFF )
62+ ptl_add_option (PTL_USE_LOCKS "Enable mutex locking in task subqueues for extra safety"
63+ OFF )
5964ptl_add_option (PTL_INSTALL_HEADERS "Install the headers" ON )
6065ptl_add_option (PTL_INSTALL_CONFIG "Install the cmake configuration" ON )
6166
6267if (DEFINED PTL_DEVELOPER_INSTALL)
63- set (PTL_INSTALL_HEADERS ${PTL_DEVELOPER_INSTALL} CACHE BOOL "Set via PTL_DEVELOPER_INSTALL" FORCE )
64- set (PTL_INSTALL_CONFIG ${PTL_DEVELOPER_INSTALL} CACHE BOOL "Set via PTL_DEVELOPER_INSTALL" FORCE )
68+ set (PTL_INSTALL_HEADERS
69+ ${PTL_DEVELOPER_INSTALL}
70+ CACHE BOOL "Set via PTL_DEVELOPER_INSTALL" FORCE )
71+ set (PTL_INSTALL_CONFIG
72+ ${PTL_DEVELOPER_INSTALL}
73+ CACHE BOOL "Set via PTL_DEVELOPER_INSTALL" FORCE )
6574endif ()
6675
67- ################################################################################
68- # Build Dependencies
69- # - Threads
76+ # -------------------------------------------------------------------------------------- #
77+ # Build Dependencies - Threads
7078if (NOT WIN32 )
7179 set (CMAKE_THREAD_PREFER_PTHREAD ON )
7280 set (THREADS_PREFER_PTHREAD_FLAG ON )
7381endif ()
7482find_package (Threads REQUIRED )
7583
76- # - TBB
84+ # * TBB
7785if (PTL_USE_TBB)
7886 find_package (TBB 2017 REQUIRED )
7987endif ()
8088
81- ############################################################################### #
82- # PTL Primary Build
89+ # -------------------------------------------------------------------------------------- #
90+ # PTL Primary Build
8391add_subdirectory (source )
8492
85- ############################################################################### #
86- # CMake/PkgConfig Support files
93+ # -------------------------------------------------------------------------------------- #
94+ # CMake/PkgConfig Support files
8795include (PTLPackageConfigHelpers )
8896
89- ############################################################################### #
90- # Examples build/test
97+ # -------------------------------------------------------------------------------------- #
98+ # Examples build/test
9199if (EXISTS ${CMAKE_CURRENT_LIST_DIR } /examples)
92100 ptl_add_option (PTL_BUILD_EXAMPLES "Build examples" OFF )
93101 if (PTL_BUILD_EXAMPLES)
@@ -96,8 +104,8 @@ if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/examples)
96104 endif ()
97105endif ()
98106
99- ############################################################################### #
100- # Reporting if master project
107+ # -------------------------------------------------------------------------------------- #
108+ # Reporting if master project
101109if (PTL_MASTER_PROJECT)
102110 ptl_print_features ()
103111endif ()
0 commit comments