-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
87 lines (66 loc) · 2.9 KB
/
CMakeLists.txt
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
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
# Depends on Qt.
set(Target_Name QtCoreUtilities)
set(CAP_Target_Name QT_CORE_UTILITIES)
message(<${Target_Name}>)
## vedgTools/CMakeModules path boilerplate.
include(vedgTools/CMakeLicense OPTIONAL RESULT_VARIABLE CMakeModulesWasIncluded)
if(CMakeModulesWasIncluded STREQUAL NOTFOUND)
set(PATH_TO_CMAKE_MODULES ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PATH_TO_CMAKE_MODULES})
message("Including CMakeModules.")
include(vedgTools/CMakeLicense)
endif()
# NOTE: QtCore is the only module, used by this library.
include(vedgTools/LibraryQtStart)
# If you want to override default bool strings ("0" and "1") that are used in
# String conversions, set properties QtUtilities_False_String and
# QtUtilities_True_String BEFORE including (adding subdirectory)
# QtCoreUtilities. For example:
# * in library that uses QtCoreUtilities:
# set_property(GLOBAL PROPERTY QtUtilities_False_String "false")
# set_property(GLOBAL PROPERTY QtUtilities_True_String "true")
# set(PATH_TO_QT_CORE_UTILITIES modules/vedgTools/QtCoreUtilities)
# include(vedgTools/LibraryGetQtCoreUtilitiesPublicHeaders)
# * in executable that uses QtCoreUtilities:
# set_property(GLOBAL PROPERTY QtUtilities_False_String "F")
# set_property(GLOBAL PROPERTY QtUtilities_True_String "T")
# add_subdirectory(modules/vedgTools/QtCoreUtilities)
# executableGetPublicHeadersProperty(QtCoreUtilities)
include(vedgTools/GetGlobalProperty)
getGlobalProperty(QtUtilities_False_String "0")
getGlobalProperty(QtUtilities_True_String "1")
add_definitions(
-DQT_UTILITIES_FALSE_STRING=\"${QtUtilities_False_String}\"
-DQT_UTILITIES_TRUE_STRING=\"${QtUtilities_True_String}\"
)
message("QtUtilities_False_String = \"${QtUtilities_False_String}\"")
message("QtUtilities_True_String = \"${QtUtilities_True_String}\"")
if(QtUtilities_False_String STREQUAL QtUtilities_True_String)
message(FATAL_ERROR "False_String may not be equal to True_String!")
endif()
include(vedgTools/LibraryWithQtInit)
include(vedgTools/LibraryWithTestsFindQt)
libraryWithTestsFindQt(Qt5Core . QTCORE)
set(Sources_Path src)
include_directories(
${PATH_TO_CMAKE_MODULES}/include
${${Target_Name}_PublicHeaders_Path}
${${Target_Name}_PublicHeaders_Path}/${Target_Name}
)
set(Sources
${Sources_Path}/Error.cpp ${Sources_Path}/String.cpp
${Sources_Path}/Miscellaneous.cpp
)
include(vedgTools/LibraryAddTarget)
include(vedgTools/LinkQt)
linkQt(${Target_Name} Core . ${QT_QTCORE_LIBRARY})
set_target_properties(${Target_Name} PROPERTIES PUBLIC_HEADER
"Error.hpp;String.hpp;Validation.hpp;Miscellaneous.hpp")
if(ENABLE_TESTING)
include(vedgTools/EnableAutomocInSources)
include(vedgTools/LibraryAddTest)
libraryAddTest("StringTest" test/StringTest.cpp ${Target_Name})
libraryAddTest("ValidationTest" test/ValidationTest.cpp ${Target_Name})
endif()
message(</${Target_Name}>)