Compare commits

...

2 Commits

Author SHA1 Message Date
dbc0b76a76 Опция CMLIB_USE_DEVELOPMENT_INSTALL_PREFIX
При включении CMLIB_USE_DEVELOPMENT_INSTALL_PREFIX установка
будет производиться в каталог _output внутри проекта.
2021-06-01 13:55:12 +03:00
ab6d9dab66 Переменная для названия работы (темы) 2021-06-01 13:36:24 +03:00
2 changed files with 35 additions and 1 deletions

View File

@ -1,11 +1,27 @@
canonical_string(${PROJECT_NAME} CMLIB_PROJECT_NAME_CANONICAL) if (NOT THEME_NAME)
set(THEME_NAME "default")
endif()
canonical_string(${ORGANIZATION_NAME} CMLIB_ORGANIZATION_NAME_CANONICAL) canonical_string(${ORGANIZATION_NAME} CMLIB_ORGANIZATION_NAME_CANONICAL)
canonical_string(${PROJECT_NAME} CMLIB_PROJECT_NAME_CANONICAL)
canonical_string(${THEME_NAME} CMLIB_THEME_NAME_CANONICAL)
string(TOLOWER ${CMLIB_ORGANIZATION_NAME_CANONICAL} CMLIB_ORGANIZATION_NAME_LOWER) string(TOLOWER ${CMLIB_ORGANIZATION_NAME_CANONICAL} CMLIB_ORGANIZATION_NAME_LOWER)
string(TOLOWER ${CMLIB_PROJECT_NAME_CANONICAL} CMLIB_PROJECT_NAME_LOWER) string(TOLOWER ${CMLIB_PROJECT_NAME_CANONICAL} CMLIB_PROJECT_NAME_LOWER)
string(TOLOWER ${CMLIB_THEME_NAME_CANONICAL} CMLIB_THEME_NAME_LOWER)
string(TOUPPER ${CMLIB_ORGANIZATION_NAME_CANONICAL} CMLIB_ORGANIZATION_NAME_UPPER) string(TOUPPER ${CMLIB_ORGANIZATION_NAME_CANONICAL} CMLIB_ORGANIZATION_NAME_UPPER)
string(TOUPPER ${CMLIB_PROJECT_NAME_CANONICAL} CMLIB_PROJECT_NAME_UPPER) string(TOUPPER ${CMLIB_PROJECT_NAME_CANONICAL} CMLIB_PROJECT_NAME_UPPER)
string(TOUPPER ${CMLIB_THEME_NAME_CANONICAL} CMLIB_THEME_NAME_UPPER)
option(CMLIB_USE_DEVELOPMENT_INSTALL_PREFIX "Auto-generated output prefix for development installation" OFF)
if (CMLIB_USE_DEVELOPMENT_INSTALL_PREFIX)
if (CMLIB_THEME_NAME_LOWER STREQUAL "default")
set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/_output" CACHE PATH "" FORCE)
else()
set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/_output/${CMLIB_THEME_NAME_LOWER}" CACHE PATH "" FORCE)
endif()
endif()
# CMLIB_MODULE_DIR # CMLIB_MODULE_DIR
foreach(_m ${CMAKE_MODULE_PATH}) foreach(_m ${CMAKE_MODULE_PATH})

View File

@ -42,6 +42,24 @@
#define CMLIB_PROJECT_NAME_UPPER "@CMLIB_PROJECT_NAME_UPPER@" #define CMLIB_PROJECT_NAME_UPPER "@CMLIB_PROJECT_NAME_UPPER@"
#endif #endif
#if defined (CMLIB_THEME_NAME)
#error "Duplicate definition of macros CMLIB_THEME_NAME"
#else
#define CMLIB_THEME_NAME "@THEME_NAME@"
#endif
#if defined (CMLIB_THEME_NAME_LOWER)
#error "Duplicate definition of macros CMLIB_THEME_NAME_LOWER"
#else
#define CMLIB_THEME_NAME_LOWER "@CMLIB_THEME_NAME_LOWER@"
#endif
#if defined (CMLIB_THEME_NAME_UPPER)
#error "Duplicate definition of macros CMLIB_THEME_NAME_UPPER"
#else
#define CMLIB_THEME_NAME_UPPER "@CMLIB_THEME_NAME_UPPER@"
#endif
#if defined (CMLIB_BUILD_TYPE) #if defined (CMLIB_BUILD_TYPE)
#error "Duplicate definition of macros CMLIB_BUILD_TYPE" #error "Duplicate definition of macros CMLIB_BUILD_TYPE"
#else #else