11#==============================================================================
22# Copyright (c) 2011-2013 Evgeny Proydakov <[email protected] > 3+ # Copyright (c) 2025-2025 Evgeny Proydakov <[email protected] > 34# Copyright (c) 2013-2014 Andrey Urusov <[email protected] > 45#==============================================================================
56# Welcome to the CMake build system for RDO STUDIO.
67# This is the main file where we prepare the general build environment
78# and provide build configuration options.
89#==============================================================================
910
10- CMAKE_MINIMUM_REQUIRED (VERSION 2.8.7 )
11+ CMAKE_MINIMUM_REQUIRED (VERSION 3.20.0 )
1112CMAKE_POLICY (SET CMP0020 NEW)
1213PROJECT (rdo)
1314
@@ -31,11 +32,23 @@ IF(NOT CMAKE_BUILD_TYPE)
3132 SET (CMAKE_BUILD_TYPE Debug)
3233ENDIF ()
3334
35+ IF (POLICY CMP0167)
36+ CMAKE_POLICY (SET CMP0167 NEW)
37+ ENDIF ()
38+
39+ set (CMAKE_THREAD_LIBS_INIT "-lpthread" )
40+ set (CMAKE_HAVE_THREADS_LIBRARY 1)
41+ set (CMAKE_USE_WIN32_THREADS_INIT 0)
42+ set (CMAKE_USE_PTHREADS_INIT 1)
43+ set (THREADS_PREFER_PTHREAD_FLAG ON )
44+
3445ADD_DEFINITIONS (-DRDO_ST)
3546ADD_DEFINITIONS (-DRDO_LIMIT_RES)
3647ADD_DEFINITIONS (-DRDO_LICENSE_ACADEMIC)
3748ADD_DEFINITIONS (-DNOMINMAX)
3849ADD_DEFINITIONS (-DBOOST_SIGNALS_NO_DEPRECATION_WARNING)
50+ ADD_DEFINITIONS (-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
51+ ADD_DEFINITIONS (-DBOOST_NO_CXX11_SMART_PTR)
3952
4053# work with cmake
4154SET (CMAKE_PREFIX_PATH $ENV{QTDIR} /lib/cmake)
@@ -45,6 +58,10 @@ SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
4558INCLUDE (FindOS)
4659INCLUDE (add.boost.test )
4760
61+ SET (CMAKE_CXX_STANDARD 14)
62+ SET (CMAKE_CXX_STANDARD_REQUIRED ON )
63+ set (CMAKE_CXX_EXTENSIONS OFF )
64+
4865IF (MSVC )
4966 STRING (REGEX REPLACE /W[0-4] /W4 CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} )
5067 SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP" )
@@ -53,7 +70,7 @@ IF(MSVC)
5370 SET (CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG" )
5471 SET (CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG" )
5572ELSE ()
56- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++0x " )
73+ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" )
5774 IF (MINGW)
5875 ADD_DEFINITIONS (-Wno-unused-local-typedefs)
5976 ELSE ()
@@ -144,27 +161,31 @@ SET(GIT_RES_SHORT FALSE)
144161SET (GIT_FILE_VERSION_LONG "${CMAKE_CURRENT_BINARY_DIR} /git.version.long" )
145162SET (GIT_FILE_VERSION_SHORT "${CMAKE_CURRENT_BINARY_DIR} /git.version.short" )
146163
147- EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} describe --tags WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} RESULT_VARIABLE ${GIT_RES_LONG} OUTPUT_FILE ${GIT_FILE_VERSION_LONG} )
148- EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} describe --abbrev=0 --tags WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} RESULT_VARIABLE ${GIT_RES_SHORT} OUTPUT_FILE ${GIT_FILE_VERSION_SHORT} )
164+ # Похоже теги потерялись при переезде на github. Нужно доработать этот блок в будущем.
149165
150- FILE (READ ${GIT_FILE_VERSION_LONG} READ_DATA_LONG )
151- STRING (REPLACE " \n " "" GIT_VERSION_LONG ${READ_DATA_LONG } )
166+ #EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} describe --tags WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} RESULT_VARIABLE ${GIT_RES_LONG} OUTPUT_FILE ${GIT_FILE_VERSION_LONG} )
167+ #EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} describe --abbrev=0 --tags WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} RESULT_VARIABLE ${GIT_RES_SHORT} OUTPUT_FILE ${GIT_FILE_VERSION_SHORT })
152168
153- FILE (READ ${GIT_FILE_VERSION_SHORT} READ_DATA_SHORT)
154- STRING (REPLACE "\n " "" GIT_VERSION_SHORT ${READ_DATA_SHORT} )
169+ #FILE(READ ${GIT_FILE_VERSION_LONG} READ_DATA_LONG)
170+ #STRING(REPLACE "\n" "" GIT_VERSION_LONG ${READ_DATA_LONG})
171+
172+ #FILE(READ ${GIT_FILE_VERSION_SHORT} READ_DATA_SHORT)
173+ #STRING(REPLACE "\n" "" GIT_VERSION_SHORT ${READ_DATA_SHORT})
174+
175+ set (GIT_VERSION_LONG "v0.0.0_github" )
176+ set (GIT_VERSION_SHORT "v0.0.0_github" )
155177
156178MESSAGE (STATUS "rdo version : ${GIT_VERSION_LONG} " )
157179
158- STRING (LENGTH "${GIT_VERSION_LONG} " TEMP_LENGTH)
159- STRING (SUBSTRING "${GIT_VERSION_LONG} " 1 -1 GIT_VERSION_LONG_NUM)
180+ # STRING(LENGTH "${GIT_VERSION_LONG}" TEMP_LENGTH)
181+ # STRING(SUBSTRING "${GIT_VERSION_LONG}" 1 -1 GIT_VERSION_LONG_NUM)
160182
161- STRING (LENGTH "${GIT_VERSION_SHORT} " TEMP_LENGTH)
162- STRING (SUBSTRING "${GIT_VERSION_SHORT} " 1 -1 GIT_VERSION_SHORT_NUM)
183+ # STRING(LENGTH "${GIT_VERSION_SHORT}" TEMP_LENGTH)
184+ # STRING(SUBSTRING "${GIT_VERSION_SHORT}" 1 -1 GIT_VERSION_SHORT_NUM)
163185
164186SET (GIT_VERSION ${GIT_VERSION_SHORT} )
165187
166188#==============================================================================
167-
168189SET (PROJECT_VERSION ${GIT_VERSION_SHORT} )
169190SET (PROJECT_VERSION_LONG ${GIT_VERSION_LONG} )
170191
@@ -306,4 +327,4 @@ SET(CPACK_RPM_PACKAGE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION}")
306327SET (CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME_LOWER} _${PROJECT_VERSION} _${CMAKE_SYSTEM_PROCESSOR} " )
307328
308329INCLUDE (CPack)
309- INCLUDE (Documentation)
330+ # INCLUDE(Documentation)
0 commit comments