File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -150,6 +150,7 @@ jobs:
150150 - name : Run CMake install
151151 run : |
152152 cmake --build cmake.output --target install
153+ # TODO: validate the installed files
153154
154155 - name : Run CMake on ubuntu (no CLI)
155156 if : matrix.os == 'ubuntu-22.04'
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ defaults:
2121
2222jobs :
2323
24+ # TODO: use Debug build to speed it up?
2425 build_qt :
2526 strategy :
2627 matrix :
6869
6970 - name : Run CMake install
7071 run : |
72+ rem TODO: this performs a Debug build
73+ rem TODO: the Qt DLLS are not being installed (because of the missing windeployqt?)
7174 cmake --build build --target install
75+ rem TODO: validate the installed files
7276
7377 build_cmake_cxxstd :
7478 strategy :
Original file line number Diff line number Diff line change @@ -40,27 +40,32 @@ if (BUILD_CLI)
4040 endif ()
4141
4242 install (TARGETS cppcheck
43- RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR }
43+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR }
4444 COMPONENT applications)
4545
4646 install (PROGRAMS ${CMAKE_SOURCE_DIR } /htmlreport/cppcheck-htmlreport
47- DESTINATION ${CMAKE_INSTALL_FULL_BINDIR }
47+ DESTINATION ${CMAKE_INSTALL_BINDIR }
4848 COMPONENT applications)
4949
50+ # TODO: leverage CMAKE_INSTALL_DATAROOTDIR (share)?
51+
5052 install (FILES ${addons_py}
51- DESTINATION ${FILESDIR_DEF } /addons
53+ DESTINATION ${FILESDIR_INSTALL } /addons
5254 COMPONENT headers)
5355
5456 install (FILES ${addons_json}
55- DESTINATION ${FILESDIR_DEF } /addons
57+ DESTINATION ${FILESDIR_INSTALL } /addons
5658 COMPONENT headers)
5759
5860 install (FILES ${cfgs}
59- DESTINATION ${FILESDIR_DEF } /cfg
61+ DESTINATION ${FILESDIR_INSTALL } /cfg
6062 COMPONENT headers)
6163
6264 install (FILES ${platforms}
63- DESTINATION ${FILESDIR_DEF } /platforms
65+ DESTINATION ${FILESDIR_INSTALL } /platforms
6466 COMPONENT headers)
6567
68+ # TODO: install manpage into CMAKE_INSTALL_MANDIR
69+ # TODO: install documentation into CMAKE_INSTALL_DOCDIR?
70+
6671endif ()
Original file line number Diff line number Diff line change @@ -134,18 +134,22 @@ set(CMAKE_DISABLE_PRECOMPILE_HEADERS Off CACHE BOOL "Disable precompiled headers
134134# see https://gitlab.kitware.com/cmake/cmake/-/issues/21219
135135set (CMAKE_PCH_PROLOGUE "" )
136136
137+ # TODO: do we need to set these?
137138set (CMAKE_INCLUDE_DIRS_CONFIGCMAKE ${CMAKE_INSTALL_PREFIX } /include CACHE PATH "Output directory for headers" )
138139set (CMAKE_LIB_DIRS_CONFIGCMAKE ${CMAKE_INSTALL_PREFIX } /lib CACHE PATH "Output directory for libraries" )
139140
141+ # TODO: do we need to set these?
140142set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR } /bin)
141143set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR } /lib)
142144set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR } /lib)
143145
144146string (LENGTH "${FILESDIR} " _filesdir_len)
145147# override FILESDIR if it is set or empty
148+ # needs to be an absolute path in Cppcheck but a relative one for CMake install
146149if (FILESDIR OR ${_filesdir_len} EQUAL 0)
147- # TODO: verify that it is an absolute path ?
150+ set (FILESDIR_INSTALL " ${FILESDIR} " ) # TODO: make relative - leverage CMAKE_INSTALL_DATAROOTDIR ?
148151 set (FILESDIR_DEF "${FILESDIR} " )
149152else ()
150- set (FILESDIR_DEF ${CMAKE_INSTALL_PREFIX } /share/${PROJECT_NAME } CACHE STRING "Cppcheck files directory" )
153+ set (FILESDIR_INSTALL "share/${PROJECT_NAME } " )
154+ set (FILESDIR_DEF "${CMAKE_INSTALL_PREFIX } /${FILESDIR_INSTALL} " )
151155endif ()
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ message(STATUS "Compiler Version = ${CMAKE_CXX_COMPILER_VERSION}")
88message (STATUS "Build type = ${CMAKE_BUILD_TYPE } " )
99message (STATUS "CMake C++ Standard = ${CMAKE_CXX_STANDARD } " )
1010message (STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX } " )
11+ message (STATUS "CMAKE_INSTALL_BINDIR = ${CMAKE_INSTALL_BINDIR} " )
1112message (STATUS "CMAKE_DISABLE_PRECOMPILE_HEADERS = ${CMAKE_DISABLE_PRECOMPILE_HEADERS} " )
1213message (STATUS "C++ flags (General) = ${CMAKE_CXX_FLAGS } " )
1314message (STATUS "C++ flags (Release) = ${CMAKE_CXX_FLAGS_RELEASE } " )
@@ -109,6 +110,7 @@ message(STATUS)
109110message (STATUS "USE_LIBCXX = ${USE_LIBCXX} " )
110111message (STATUS )
111112message (STATUS "FILESDIR = ${FILESDIR} " )
113+ message (STATUS "FILESDIR_INSTALL = ${FILESDIR_INSTALL} " )
112114message (STATUS "FILESDIR_DEF = ${FILESDIR_DEF} " )
113115message (STATUS )
114116
Original file line number Diff line number Diff line change @@ -71,8 +71,8 @@ CheckOptions:
7171 add_dependencies (cppcheck-gui online-help.qhc )
7272 endif ()
7373
74- install (TARGETS cppcheck-gui RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR } COMPONENT applications)
75- install (FILES ${qms} DESTINATION ${CMAKE_INSTALL_FULL_BINDIR } COMPONENT applications)
74+ install (TARGETS cppcheck-gui RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR } COMPONENT applications)
75+ install (FILES ${qms} DESTINATION ${CMAKE_INSTALL_BINDIR } COMPONENT applications)
7676
7777 install (FILES cppcheck-gui.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR} /applications)
7878
You can’t perform that action at this time.
0 commit comments