LAview.LaTeX-Struct/CMakeLists.txt

131 lines
4.5 KiB
CMake

PROJECT (LAviewLatexStruct C)
CMAKE_MINIMUM_REQUIRED (VERSION 2.8)
SET (MAJOR 0)
SET (MINOR 0)
SET (PATCH 0)
SET (VERSION ${MAJOR}.${MINOR}.${PATCH})
LIST (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
INCLUDE (MacroOptionalAddSubdirectory)
INCLUDE (CPackDetectArch)
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") # supress Gcc warnings
# configure a header file for Gettext
SET (GETTEXT_PACKAGE "laview-latex-struct")
ADD_DEFINITIONS (-DGETTEXT_PACKAGE="${GETTEXT_PACKAGE}")
IF (WIN32)
SET (LOCALEDIR "")
ELSE ()
SET (LOCALEDIR "${CMAKE_INSTALL_PREFIX}/share/locale")
ENDIF ()
SET (CUSTOM_LOCALEDIR "" CACHE STRING "Directory to install l10n files into")
IF (NOT CUSTOM_LOCALEDIR STREQUAL "")
SET (LOCALEDIR "${CUSTOM_LOCALEDIR}")
MESSAGE(STATUS "Using LOCALEDIR=${LOCALEDIR}")
ENDIF ()
ADD_DEFINITIONS (-DLOCALEDIR="${LOCALEDIR}")
SET (LOCALE_INSTALL_DIR "share/locale")
MACRO_OPTIONAL_ADD_SUBDIRECTORY (po)
# Avoid of "dll not found" messages
SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/run")
# configure a header file for Gettext
CONFIGURE_FILE (
"${PROJECT_SOURCE_DIR}/src/gettext-config.h.in"
"${PROJECT_BINARY_DIR}/src/gettext-config.h"
)
IF ( CMAKE_BUILD_TYPE STREQUAL "Debug" )
SET (VALA_DEBUG "-g")
ENDIF ()
# configure pkg-config file
IF (WIN32)
SET (prefix "")
ELSE ()
SET (prefix ${CMAKE_INSTALL_PREFIX})
ENDIF ()
SET (exec_prefix "\${prefix}")
SET (libdir "\${exec_prefix}/lib")
SET (prefincludedir "\${prefix}/include")
SET (link_lib1 "\${libdir}")
SET (link_lib2 "laview-latex-struct")
CONFIGURE_FILE (
"${PROJECT_SOURCE_DIR}/laview-latex-struct.pc.in"
"${PROJECT_BINARY_DIR}/laview-latex-struct-${MAJOR}.pc"
)
SET (CMAKE_C_FLAGS_DEBUG "-ggdb3 -O0 -ftest-coverage -Wcoverage-mismatch ${CMAKE_C_FLAGS_DEBUG}")
SET (CMAKE_C_FLAGS_RELEASE "-O2 ${CMAKE_C_FLAGS_RELEASE}")
ADD_SUBDIRECTORY (src)
ADD_SUBDIRECTORY (test)
## CPack configuration ##
SET (CPACK_PACKAGE_CONTACT "backbone@backbone.ws")
SET (CPACK_PACKAGE_VENDOR "backbone@backbone.ws")
SET (CPACK_NSIS_MODIFY_PATH ON)
SET (CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
INCLUDE (InstallRequiredSystemLibraries)
SET (CPACK_RESOURCE_FILE_LICENSE
"${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
SET (CPACK_PACKAGE_DESCRIPTION_FILE
"${CMAKE_CURRENT_SOURCE_DIR}/README")
INSTALL (FILES "${PROJECT_BINARY_DIR}/laview-latex-struct-${MAJOR}.pc"
DESTINATION lib/pkgconfig)
INSTALL (FILES "${PROJECT_BINARY_DIR}/src/laview-latex-struct-${MAJOR}.vapi"
DESTINATION share/vala/vapi)
#SET (CPACK_NSIS_PACKAGE_NAME "${PROJECT_NAME}")
#SET (CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME}")
SET (CPACK_PACKAGE_VERSION_MAJOR "${MAJOR}")
SET (CPACK_PACKAGE_VERSION_MINOR "${MINOR}")
SET (CPACK_PACKAGE_VERSION_PATCH "${PATCH}")
SET (CPACK_PACKAGE_VERSION "${VERSION}")
IF (UNIX)
SET (CPACK_GENERATOR "DEB;RPM;STGZ;TBZ2;TGZ;TZ;ZIP")
SET (CPACK_SOURCE_GENERATOR "DEB;RPM;STGZ;TBZ2;TGZ;TZ;ZIP")
SET (CPACK_PACKAGE_NAME "laview-latex-struct")
SET (CPACK_PACKAGE_DESCRIPTION_SUMMARY "LaTeX representation in the memory")
SET (CPACK_PACKAGE_DESCRIPTION "LaTeX representation in the memory "
"Scanner + Generator + Operations on document objects.")
# Debian specific options
SET (CPACK_DEBIAN_PACKAGE_DEPENDS "valac (>= 0.24), libglib2.0-bin (>= 2.33)")
SET (CPACK_DEBIAN_PACKAGE_SECTION "Libraries")
# SET (CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${ARCHITECTURE}")
# SET (CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
SET (CPACK_DEBIAN_PACKAGE_RECOMMENDS "")
SET (CPACK_DEBIAN_PACKAGE_SUGGESTS "")
# RPM specific options
# SET (CPACK_RPM_PACKAGE_ARCHITECTURE "${ARCHITECTURE}")
SET (CPACK_RPM_PACKAGE_LICENSE "LGPLv3+")
SET (CPACK_RPM_PACKAGE_GROUP "Applications/Text")
SET (CPACK_RPM_PACKAGE_REQUIRES "vala >= 0.24, glib >= 2.33")
SET (CPACK_RPM_PACKAGE_PROVIDES "laview-latex-struct")
# http://public.kitware.com/Bug/view.php?id=12997
SET(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${ARCHITECTURE}")
ELSEIF (WIN32)
SET (CPACK_GENERATOR "NSIS")
SET (CPACK_SOURCE_GENERATOR "NSIS")
SET (CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CMAKE_PROJECT_NAME}-${MAJOR}")
#SET (CPACK_NSIS_MENU_LINKS "${EWS_WEBSITE}" "Homepage for ${EWS_APP_NAME}")
#SET (CPACK_NSIS_INSTALLED_ICON_NAME bin\\\\${EXE_TARGET_NAME}.exe)
#SET (CPACK_NSIS_URL_INFO_ABOUT "${EWS_WEBSITE}")
#SET (CPACK_NSIS_HELP_LINK "${EWS_WEBSITE}")
SET (CPACK_PACKAGE_INSTALL_DIRECTORY "${CMAKE_PROJECT_NAME}-${MAJOR}")
SET (CPACK_UNINSTALL_NAME "LVLatStr-${MAJOR}") # <=10 symbols: https://redmine.backbone.ws/issues/83
ENDIF ()
INCLUDE (CPack)
INCLUDE (CTest)