diff options
author | Přemysl Janouch <p.janouch@gmail.com> | 2011-01-10 16:49:13 +0100 |
---|---|---|
committer | Přemysl Janouch <p.janouch@gmail.com> | 2011-01-10 17:07:02 +0100 |
commit | 616c49a5053830a5e0a31c71fd6114926e43235f (patch) | |
tree | 8a21f60862a86d5fb2faf5ed7fd70aa7a2ce69d5 /CMakeLists.txt | |
parent | 63b36a2b5b8e04f5d96fa9aa8d212a01c73aad49 (diff) | |
download | logdiag-616c49a5053830a5e0a31c71fd6114926e43235f.tar.gz logdiag-616c49a5053830a5e0a31c71fd6114926e43235f.tar.xz logdiag-616c49a5053830a5e0a31c71fd6114926e43235f.zip |
Make a separate library.
This is required for gtkdoc-scangobj. So far it's much like it's been
before, the main differences are that source files are in two directories
from now on and the build process has two stages.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 74 |
1 files changed, 42 insertions, 32 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 75eb11a..762a9ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,37 +79,41 @@ find_package (GtkDoc) set (project_DOC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/docs/reference") # Project source files +set (liblogdiag_SOURCES + liblogdiag/ld-marshal.c + liblogdiag/ld-types.c + liblogdiag/ld-diagram.c + liblogdiag/ld-diagram-object.c + liblogdiag/ld-diagram-symbol.c + liblogdiag/ld-canvas.c + liblogdiag/ld-library.c + liblogdiag/ld-symbol-category.c + liblogdiag/ld-symbol.c + liblogdiag/ld-lua.c + liblogdiag/ld-lua-symbol.c) +set (liblogdiag_HEADERS + ${CMAKE_CURRENT_BINARY_DIR}/config.h + liblogdiag/liblogdiag.h + liblogdiag/ld-marshal.h + liblogdiag/ld-types.h + liblogdiag/ld-diagram.h + liblogdiag/ld-diagram-object.h + liblogdiag/ld-diagram-symbol.h + liblogdiag/ld-canvas.h + liblogdiag/ld-library.h + liblogdiag/ld-symbol-category.h + liblogdiag/ld-symbol.h + liblogdiag/ld-lua.h + liblogdiag/ld-lua-private.h + liblogdiag/ld-lua-symbol.h + liblogdiag/ld-lua-symbol-private.h) + set (logdiag_SOURCES - src/logdiag.c - src/ld-marshal.c - src/ld-types.c src/ld-window-main.c - src/ld-diagram.c - src/ld-diagram-object.c - src/ld-diagram-symbol.c - src/ld-canvas.c - src/ld-library.c - src/ld-symbol-category.c - src/ld-symbol.c - src/ld-lua.c - src/ld-lua-symbol.c) + src/logdiag.c) set (logdiag_HEADERS - ${CMAKE_CURRENT_BINARY_DIR}/config.h - src/liblogdiag.h - src/ld-marshal.h - src/ld-types.h - src/ld-window-main.h - src/ld-diagram.h - src/ld-diagram-object.h - src/ld-diagram-symbol.h - src/ld-canvas.h - src/ld-library.h - src/ld-symbol-category.h - src/ld-symbol.h - src/ld-lua.h - src/ld-lua-private.h - src/ld-lua-symbol.h - src/ld-lua-symbol-private.h) + ${liblogdiag_HEADERS} + src/ld-window-main.h) # Generate a configure file configure_file (${CMAKE_CURRENT_SOURCE_DIR}/config.h.in @@ -151,18 +155,24 @@ function (glib_genmarshal base prefix) endif (GLIB_GENMARSHAL_EXECUTABLE) endfunction (glib_genmarshal) -glib_genmarshal (${CMAKE_CURRENT_SOURCE_DIR}/src/ld-marshal +glib_genmarshal (${CMAKE_CURRENT_SOURCE_DIR}/liblogdiag/ld-marshal g_cclosure_user_marshal) -# Build the executable +include_directories (${CMAKE_CURRENT_SOURCE_DIR}/liblogdiag) include_directories (${GTK2_INCLUDE_DIRS} ${JSON_GLIB_INCLUDE_DIRS} ${LUA_INCLUDE_DIR}) + +# Build the library +add_library (liblogdiag STATIC ${liblogdiag_SOURCES} ${liblogdiag_HEADERS}) +set_target_properties (liblogdiag PROPERTIES OUTPUT_NAME logdiag) + +# Build the executable add_executable (logdiag ${logdiag_SOURCES} ${logdiag_HEADERS}) -target_link_libraries (logdiag ${GTK2_LIBRARIES} ${JSON_GLIB_LIBRARIES} ${LUA_LIBRARIES}) +target_link_libraries (logdiag liblogdiag ${GTK2_LIBRARIES} ${JSON_GLIB_LIBRARIES} ${LUA_LIBRARIES}) # Generate documentation if (GTK_DOC_FOUND) GTK_DOC_RUN (WORKING_DIR ${project_DOC_DIR} - SOURCE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/src + SOURCE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/liblogdiag XML ${project_DOC_DIR}/xml --sgml-mode HTML ${project_DOC_DIR}/html) endif (GTK_DOC_FOUND) |