summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsterin <github@bsterin.com>2018-03-29 13:27:48 -0700
committerGitHub <noreply@github.com>2018-03-29 13:27:48 -0700
commit41eb4eafb87e017e822dd2a92e3673d229f370bd (patch)
tree4a6ce189b93bf444a6a1479d34830099e9097295
parenta2d59be3f7f05c4757ade8b3b6f9fdf425de5cc0 (diff)
parentc3be5dc690a11f86760de01ed4333f656917a51b (diff)
downloadabc-41eb4eafb87e017e822dd2a92e3673d229f370bd.tar.gz
abc-41eb4eafb87e017e822dd2a92e3673d229f370bd.tar.bz2
abc-41eb4eafb87e017e822dd2a92e3673d229f370bd.zip
Merge pull request #3 from kmurray/fix_cmake_libabc_dependency
CMake: Ensure abc executable depends on libabc
-rw-r--r--CMakeLists.txt10
1 files changed, 6 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d3ac737b..7cf6f19a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -88,15 +88,17 @@ function(abc_properties target visibility)
target_link_libraries(${target} ${visibility} ${ABC_LIBS})
endfunction()
-add_executable(abc ${ABC_SRC})
-abc_properties(abc PRIVATE)
-
-list(REMOVE_ITEM ABC_SRC src/base/main/main.c)
+set(ABC_MAIN_SRC src/base/main/main.c)
+list(REMOVE_ITEM ABC_SRC ${ABC_MAIN_SRC})
add_library(libabc EXCLUDE_FROM_ALL ${ABC_SRC})
abc_properties(libabc PUBLIC)
set_property(TARGET libabc PROPERTY OUTPUT_NAME abc)
+add_executable(abc ${ABC_MAIN_SRC})
+target_link_libraries(abc PRIVATE libabc)
+abc_properties(abc PRIVATE)
+
add_library(libabc-pic EXCLUDE_FROM_ALL ${ABC_SRC})
abc_properties(libabc-pic PUBLIC)
set_property(TARGET libabc-pic PROPERTY POSITION_INDEPENDENT_CODE ON)