53 lines
1.2 KiB
CMake
53 lines
1.2 KiB
CMake
project(Framework)
|
|
|
|
add_library(foo SHARED
|
|
foo.cxx
|
|
foo.h
|
|
foo2.h
|
|
fooPublic.h
|
|
fooPrivate.h
|
|
fooNeither.h
|
|
fooBoth.h
|
|
test.lua
|
|
)
|
|
set_target_properties(foo PROPERTIES
|
|
FRAMEWORK TRUE
|
|
FRAMEWORK_VERSION ver3
|
|
)
|
|
# fooNeither.h is marked neither public nor private...
|
|
# fooBoth.h is marked both public and private... (private wins...)
|
|
set_source_files_properties(foo.h foo2.h fooPublic.h fooBoth.h PROPERTIES
|
|
FRAMEWORK_PUBLIC_HEADER TRUE
|
|
)
|
|
set_source_files_properties(fooPrivate.h fooBoth.h PROPERTIES
|
|
FRAMEWORK_PRIVATE_HEADER TRUE
|
|
)
|
|
set_source_files_properties(test.lua PROPERTIES
|
|
FRAMEWORK_RESOURCE TRUE
|
|
)
|
|
add_executable(bar bar.cxx)
|
|
target_link_libraries(bar foo)
|
|
|
|
|
|
# Make a static library and apply the framework properties to it to verify
|
|
# that everything still builds correctly, but it will not actually produce
|
|
# a framework... The framework properties only apply when the library type
|
|
# is SHARED.
|
|
#
|
|
add_library(fooStatic STATIC
|
|
foo.cxx
|
|
foo.h
|
|
foo2.h
|
|
fooPublic.h
|
|
fooPrivate.h
|
|
fooNeither.h
|
|
fooBoth.h
|
|
test.lua
|
|
)
|
|
set_target_properties(fooStatic PROPERTIES
|
|
FRAMEWORK TRUE
|
|
FRAMEWORK_VERSION none
|
|
)
|
|
add_executable(barStatic bar.cxx)
|
|
target_link_libraries(barStatic fooStatic)
|