mirror of https://github.com/YosysHQ/abc.git
CMake: Ensure abc executable depends on libabc
This ensures that libabc is built only once. Previously the code for libabc was being built twice: once for the abc executable target, and again for the libabc target.
This commit is contained in:
parent
a2d59be3f7
commit
c3be5dc690
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue