1 project("roojspacker" C)
3 cmake_minimum_required(VERSION 3.2)
6 set(PROJECT_WEB "https://www.roojs.com/")
7 # Where to report bugs; usually either an e-mail address or an issue
9 set(PROJECT_BUGS "https://www.roojs.com/mtrack/")
10 # Gettext package name
11 #set(GETTEXT_PACKAGE ${PROJECT_NAME})
15 # This should be incremented with every release. See semver.org.
16 set (MY_PROJECT_VERSION_MAJOR 1)
17 set (MY_PROJECT_VERSION_MINOR 2)
18 set (MY_PROJECT_VERSION_REVISION 0)
22 # This will go in the pkg-config and shared library names. Should
23 # only be changed if the API breaks backwards compatibility.
24 set (MY_PROJECT_VERSION_API "1.2")
25 set (MY_PROJECT_SOVERSION_CURRENT ${MY_PROJECT_VERSION_MAJOR})
26 set (MY_PROJECT_SOVERSION_REVISION ${MY_PROJECT_VERSION_MINOR})
27 set (MY_PROJECT_SOVERSION_AGE ${MY_PROJECT_VERSION_REVISION})
31 list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
34 find_package(GLib "2.38" REQUIRED)
35 find_package(Vala "0.36.0" REQUIRED)
39 find_package(PkgConfig)
40 pkg_check_modules(GOBJECT REQUIRED gobject-2.0)
41 pkg_check_modules(GIO REQUIRED gio-2.0)
42 pkg_check_modules(GEE REQUIRED gee-0.8)
43 pkg_check_modules(GTHREAD REQUIRED gthread-2.0)
45 pkg_check_modules(JSON REQUIRED json-glib-1.0)
49 ${GOBJECT_CFLAGS} ${GOBJECT_CFLAGS_OTHER}
50 ${GIO_CFLAGS} ${GIO_CFLAGS_OTHER}
51 ${GTHREAD_CFLAGS} ${GTHREAD_CFLAGS_OTHER}
52 ${GEE_CFLAGS} ${GEE_CFLAGS_OTHER}
53 ${JSON_CFLAGS} ${JSON_CFLAGS_OTHER}
55 add_definitions(${CFLAGS})
59 if(CMAKE_BUILD_TYPE STREQUAL "")
60 set(CMAKE_BUILD_TYPE "Debug")
61 endif(CMAKE_BUILD_TYPE STREQUAL "")
63 list(APPEND VALA_COMPILER_FLAGS
69 "--vapidir=${CMAKE_SOURCE_DIR}/vapi"
71 list(APPEND VALA_COMPILER_FLAGs_DEBUG "--debug")
75 include(AddCompilerFlags)
77 global_add_compiler_flags(-Wno-incompatible-pointer-types)
87 link_libraries(${LIBS})
91 ${GOBJECT_LIBRARY_DIRS}
94 ${GTHREAD_LIBRARY_DIRS}
97 link_directories(${LIB_PATHS})
99 set (LIBRARY_PATH "src")
102 add_subdirectory(jsdoc)
103 add_subdirectory(bin)