Add initial CMake project file
This commit is contained in:
parent
109fb63a71
commit
2f111b688b
|
@ -0,0 +1,99 @@
|
|||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
project(ClawsMail LANGUAGES C)
|
||||
|
||||
## Dependencies ##
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(GLib REQUIRED glib-2.0)
|
||||
pkg_check_modules(GTK REQUIRED gtk+-3.0)
|
||||
pkg_check_modules(GDK_PIXBUF REQUIRED gdk-pixbuf-2.0)
|
||||
pkg_check_modules(libetpan REQUIRED libetpan)
|
||||
pkg_check_modules(pgpme REQUIRED gpgme)
|
||||
pkg_check_modules(gnutls REQUIRED gnutls)
|
||||
|
||||
## Source files ##
|
||||
|
||||
file(GLOB SOURCES
|
||||
"config.h"
|
||||
|
||||
"src/*.h"
|
||||
"src/*.c"
|
||||
"src/common/*.h"
|
||||
"src/common/*.c"
|
||||
"src/etpan/*.h"
|
||||
"src/etpan/*.c"
|
||||
"src/gtk/*.h"
|
||||
"src/gtk/*.c"
|
||||
|
||||
"src/plugins/pgpcore/*.h"
|
||||
"src/plugins/pgpcore/*.c"
|
||||
"src/plugins/pgpmime/*.h"
|
||||
"src/plugins/pgpmime/*.c")
|
||||
|
||||
add_executable(ClawsMail)
|
||||
target_sources(ClawsMail PRIVATE ${SOURCES})
|
||||
target_include_directories(ClawsMail PRIVATE ${CMAKE_SOURCE_DIR})
|
||||
target_include_directories(ClawsMail PRIVATE ${CMAKE_SOURCE_DIR}/src)
|
||||
target_include_directories(ClawsMail PRIVATE ${CMAKE_SOURCE_DIR}/src/common)
|
||||
target_include_directories(ClawsMail PRIVATE ${CMAKE_SOURCE_DIR}/src/etpan)
|
||||
target_include_directories(ClawsMail PRIVATE ${CMAKE_SOURCE_DIR}/src/gtk)
|
||||
|
||||
|
||||
## GLib 2.0 ##
|
||||
|
||||
target_link_libraries(ClawsMail PRIVATE ${GLib_LIBRARIES})
|
||||
target_compile_definitions(ClawsMail PRIVATE ${GLib_CFLAGS_OTHER})
|
||||
target_include_directories(ClawsMail PRIVATE ${GLib_INCLUDE_DIRS})
|
||||
target_link_directories(ClawsMail PRIVATE ${GLib_LIBRARY_DIRS})
|
||||
|
||||
|
||||
## GTK 3.0 ##
|
||||
|
||||
target_link_libraries(ClawsMail PRIVATE ${GTK_LIBRARIES})
|
||||
|
||||
# Add other flags to the compiler
|
||||
target_compile_definitions(ClawsMail PRIVATE ${GTK_CFLAGS_OTHER})
|
||||
|
||||
|
||||
# Setup CMake to use GTK+, tell the compiler where to look for headers
|
||||
# and to the linker where to look for libraries
|
||||
target_include_directories(ClawsMail PRIVATE ${GTK_INCLUDE_DIRS})
|
||||
target_link_directories(ClawsMail PRIVATE ${GTK_LIBRARY_DIRS})
|
||||
|
||||
|
||||
## GdkPixbuf 2.0 ##
|
||||
|
||||
target_link_libraries(ClawsMail PRIVATE ${GdkPixbuf_LIBRARIES})
|
||||
target_compile_definitions(ClawsMail PRIVATE ${GdkPixbuf_CFLAGS_OTHER})
|
||||
target_include_directories(ClawsMail PRIVATE ${GdkPixbuf_INCLUDE_DIRS})
|
||||
target_link_directories(ClawsMail PRIVATE ${GdkPixbuf_LIBRARY_DIRS})
|
||||
|
||||
|
||||
## libetpan ##
|
||||
|
||||
target_link_libraries(ClawsMail PRIVATE ${libetpan_LIBRARIES})
|
||||
target_compile_definitions(ClawsMail PRIVATE ${libetpan_CFLAGS_OTHER})
|
||||
target_include_directories(ClawsMail PRIVATE ${libetpan_INCLUDE_DIRS})
|
||||
target_link_directories(ClawsMail PRIVATE ${libetpan_LIBRARY_DIRS})
|
||||
|
||||
|
||||
## GPGME ##
|
||||
|
||||
target_link_libraries(ClawsMail PRIVATE ${gpgme_LIBRARIES})
|
||||
target_compile_definitions(ClawsMail PRIVATE ${gpgme_CFLAGS_OTHER})
|
||||
target_include_directories(ClawsMail PRIVATE ${gpgme_INCLUDE_DIRS})
|
||||
target_link_directories(ClawsMail PRIVATE ${gpgme_LIBRARY_DIRS})
|
||||
|
||||
|
||||
## GnuTLS ##
|
||||
|
||||
target_link_libraries(ClawsMail PRIVATE ${gnutls_LIBRARIES})
|
||||
target_compile_definitions(ClawsMail PRIVATE ${gnutls_CFLAGS_OTHER})
|
||||
target_include_directories(ClawsMail PRIVATE ${gnutls_INCLUDE_DIRS})
|
||||
target_link_directories(ClawsMail PRIVATE ${gnutls_LIBRARY_DIRS})
|
||||
|
||||
## Installation ##
|
||||
|
||||
install(TARGETS ClawsMail
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
Loading…
Reference in New Issue