2024-08-21 12:47:16 +03:00
|
|
|
CMAKE_MINIMUM_REQUIRED (VERSION 3.0)
|
|
|
|
|
|
|
|
|
|
SET (CMAKE_C_COMPILER "gcc")
|
|
|
|
|
|
2025-02-26 08:51:08 +03:00
|
|
|
PROJECT (ervu-sign-module VERSION 1.3.3 LANGUAGES C)
|
2024-11-14 12:16:55 +03:00
|
|
|
|
2024-08-21 12:47:16 +03:00
|
|
|
IF (CMAKE_VERBOSE)
|
|
|
|
|
SET (CMAKE_VERBOSE_MAKEFILE 1)
|
|
|
|
|
ENDIF ()
|
|
|
|
|
|
|
|
|
|
SET (CMAKE_C_FLAGS "-Wall -Wextra -Werror -Wno-unused-parameter")
|
|
|
|
|
SET (CMAKE_C_FLAGS_DEBUG "-g -O0 -DDEBUG")
|
|
|
|
|
SET (CMAKE_C_FLAGS_RELEASE "-g -O2 -DNDEBUG")
|
|
|
|
|
SET (CMAKE_EXE_LINKER_FLAGS "-Wl,--no-undefined")
|
|
|
|
|
|
|
|
|
|
SET (SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
|
|
|
|
SET (UTILS_DIR ${SOURCE_DIR}/utils)
|
|
|
|
|
SET (FCGISRV_DIR ${SOURCE_DIR}/fcgisrv)
|
|
|
|
|
SET (MODULES_DIR ${SOURCE_DIR}/modules)
|
|
|
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES (${SOURCE_DIR})
|
|
|
|
|
|
|
|
|
|
# PKG-CONFIG
|
|
|
|
|
FIND_PACKAGE (PkgConfig REQUIRED)
|
|
|
|
|
|
|
|
|
|
# GLIB2
|
|
|
|
|
MESSAGE ("")
|
|
|
|
|
MESSAGE ("Try to find the glib-2.0..")
|
|
|
|
|
PKG_CHECK_MODULES (GLIB2 REQUIRED glib-2.0)
|
|
|
|
|
|
|
|
|
|
IF (NOT GLIB2_FOUND)
|
|
|
|
|
MESSAGE (SEND_ERROR "Can not find glib-2.0")
|
|
|
|
|
ELSE ()
|
|
|
|
|
MESSAGE ("glib-2.0 is found: ")
|
|
|
|
|
MESSAGE ("GLIB2_LIB_INCLUDE_DIR : " ${GLIB2_LIB_INCLUDE_DIR})
|
|
|
|
|
MESSAGE ("GLIB2_INCLUDE_DIR : " ${GLIB2_INCLUDE_DIR})
|
|
|
|
|
MESSAGE ("GLIB2_LIBRARY_DIR : " ${GLIB2_LIBRARY_DIR})
|
|
|
|
|
MESSAGE ("GLIB2_INCLUDE_DIRS : " ${GLIB2_INCLUDE_DIRS})
|
|
|
|
|
MESSAGE ("GLIB2_LIBRARY_DIRS : " ${GLIB2_LIBRARY_DIRS})
|
|
|
|
|
MESSAGE ("GLIB2_LIBRARIES : " ${GLIB2_LIBRARIES})
|
|
|
|
|
ENDIF (NOT GLIB2_FOUND)
|
|
|
|
|
MESSAGE ("")
|
|
|
|
|
|
|
|
|
|
# set glib2 path vars
|
|
|
|
|
INCLUDE_DIRECTORIES (${GLIB2_INCLUDE_DIRS})
|
|
|
|
|
|
|
|
|
|
SET (DEP_LIBS
|
|
|
|
|
-lpthread
|
|
|
|
|
-lfcgi
|
|
|
|
|
-lglib-2.0
|
|
|
|
|
-ldl
|
2024-11-14 12:16:55 +03:00
|
|
|
-ljson-glib-1.0
|
|
|
|
|
-lgobject-2.0
|
2024-12-26 16:41:00 +03:00
|
|
|
-luuid
|
2024-08-21 12:47:16 +03:00
|
|
|
)
|
|
|
|
|
|
2024-11-14 12:16:55 +03:00
|
|
|
# JSON-GLIB
|
|
|
|
|
MESSAGE ("")
|
|
|
|
|
MESSAGE ("Try to find the JSON-glib-1.0..")
|
|
|
|
|
pkg_check_modules (JSONGLIB REQUIRED json-glib-1.0)
|
|
|
|
|
|
|
|
|
|
IF (NOT JSONGLIB_FOUND)
|
|
|
|
|
MESSAGE(SEND_ERROR "Can not find json-glib-1.0")
|
|
|
|
|
ELSE ()
|
|
|
|
|
MESSAGE ("json-glib-1.0 is found: ")
|
|
|
|
|
MESSAGE ("JSONGLIB_LIB_INCLUDE_DIR : " ${JSONGLIB_LIB_INCLUDE_DIR})
|
|
|
|
|
MESSAGE ("JSONGLIB_INCLUDE_DIR : " ${JSONGLIB_INCLUDE_DIR})
|
|
|
|
|
MESSAGE ("JSONGLIB_LIBRARY_DIR : " ${JSONGLIB_LIBRARY_DIR})
|
|
|
|
|
MESSAGE ("JSONGLIB_INCLUDE_DIRS : " ${JSONGLIB_INCLUDE_DIRS})
|
|
|
|
|
MESSAGE ("JSONGLIB_LIBRARY_DIRS : " ${JSONGLIB_LIBRARY_DIRS})
|
|
|
|
|
MESSAGE ("JSONGLIB_LIBRARIES : " ${JSONGLIB_LIBRARIES})
|
|
|
|
|
ENDIF (NOT JSONGLIB_FOUND)
|
|
|
|
|
MESSAGE ("")
|
|
|
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES ("${JSONGLIB_INCLUDE_DIRS}")
|
|
|
|
|
|
2024-08-21 12:47:16 +03:00
|
|
|
# version.h
|
|
|
|
|
CONFIGURE_FILE (${SOURCE_DIR}/version.h.in ${SOURCE_DIR}/version.h)
|
|
|
|
|
|
|
|
|
|
# config.h
|
|
|
|
|
IF (NOT DEFINED CONFIG_NAME)
|
2024-08-21 13:23:37 +03:00
|
|
|
SET (CONFIG_NAME "/etc/${PROJECT_NAME}.conf")
|
2024-08-21 12:47:16 +03:00
|
|
|
ENDIF ()
|
|
|
|
|
|
|
|
|
|
MESSAGE ("CONFIG_NAME: " ${CONFIG_NAME})
|
|
|
|
|
MESSAGE ("")
|
|
|
|
|
|
|
|
|
|
CONFIGURE_FILE (${SOURCE_DIR}/config.h.in ${SOURCE_DIR}/config.h)
|
|
|
|
|
|
|
|
|
|
SET (CRYPTOPRO_INCLUDE_DIRS
|
2024-09-11 17:30:53 +03:00
|
|
|
/opt/cprocsp/include
|
2024-08-21 12:47:16 +03:00
|
|
|
/opt/cprocsp/include/cpcsp
|
|
|
|
|
/opt/cprocsp/include/pki
|
|
|
|
|
)
|
|
|
|
|
MESSAGE("CRYPTOPRO_INCLUDE_DIRS : " ${CRYPTOPRO_INCLUDE_DIRS})
|
|
|
|
|
|
|
|
|
|
ADD_DEFINITIONS(-DUNIX)
|
|
|
|
|
INCLUDE_DIRECTORIES ("${CRYPTOPRO_INCLUDE_DIRS}")
|
|
|
|
|
|
|
|
|
|
FILE (GLOB_RECURSE HEADERS "${SOURCE_DIR}/*.h")
|
|
|
|
|
|
2024-11-14 12:16:55 +03:00
|
|
|
# tests
|
|
|
|
|
option(WITH_TESTS "Build with tests" OFF)
|
|
|
|
|
IF (WITH_TESTS)
|
|
|
|
|
MESSAGE ("Build with tests: ON")
|
|
|
|
|
enable_testing()
|
|
|
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tests/)
|
|
|
|
|
ENDIF ()
|
|
|
|
|
|
2024-08-21 12:47:16 +03:00
|
|
|
ADD_EXECUTABLE (${PROJECT_NAME}
|
|
|
|
|
${HEADERS}
|
|
|
|
|
${SOURCE_DIR}/main.c
|
|
|
|
|
${SOURCE_DIR}/main_conf.c
|
|
|
|
|
${SOURCE_DIR}/master.c
|
|
|
|
|
${SOURCE_DIR}/service_manager.c
|
|
|
|
|
${SOURCE_DIR}/worker.c
|
|
|
|
|
${UTILS_DIR}/base64.c
|
|
|
|
|
${UTILS_DIR}/capi.c
|
|
|
|
|
${UTILS_DIR}/conf_file_context.c
|
|
|
|
|
${UTILS_DIR}/cryptopro.c
|
|
|
|
|
${UTILS_DIR}/gconf_file.c
|
2024-11-14 12:16:55 +03:00
|
|
|
${UTILS_DIR}/glib_utils.c
|
|
|
|
|
${UTILS_DIR}/json_parser.c
|
2025-01-09 11:00:39 +03:00
|
|
|
${UTILS_DIR}/json_writer.c
|
2024-11-14 12:16:55 +03:00
|
|
|
${UTILS_DIR}/jwt.c
|
2024-08-21 12:47:16 +03:00
|
|
|
${UTILS_DIR}/library.c
|
|
|
|
|
${UTILS_DIR}/logger.c
|
|
|
|
|
${UTILS_DIR}/str_t.c
|
2025-02-18 10:24:16 +03:00
|
|
|
${UTILS_DIR}/timer.c
|
2024-12-26 16:41:00 +03:00
|
|
|
${UTILS_DIR}/uuid.c
|
2024-08-21 12:47:16 +03:00
|
|
|
${FCGISRV_DIR}/fcgi_map.c
|
|
|
|
|
${FCGISRV_DIR}/fcgi_server.c
|
|
|
|
|
${FCGISRV_DIR}/fcgi_thread.c
|
|
|
|
|
${FCGISRV_DIR}/fcgi_utils.c
|
|
|
|
|
${FCGISRV_DIR}/fcgi_worker.c
|
|
|
|
|
${MODULES_DIR}/service_sign.c
|
2024-11-14 12:16:55 +03:00
|
|
|
${MODULES_DIR}/service_verify.c
|
|
|
|
|
${MODULES_DIR}/service_version.c
|
2024-08-21 12:47:16 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
TARGET_LINK_LIBRARIES (${PROJECT_NAME} ${DEP_LIBS})
|