cmake_minimum_required (VERSION 2.8.12) IF(POLICY CMP0037) cmake_policy(SET CMP0037 OLD) # new cmake doesn't like creating framework whose name has spaces ENDIF() project (foo C) find_package(PkgConfig REQUIRED) pkg_check_modules(foo REQUIRED libfoo) message(STATUS " foo_INCLUDEDIR is ${foo_INCLUDEDIR}") message(STATUS " foo_LDFLAGS is ${foo_LDFLAGS}") #string(REPLACE "-framework;\"foo;bar\"" "-framework 'foo bar'" foo_LDFLAGS "${foo_LDFLAGS}") string(REPLACE "-framework;foo;bar" "-framework 'foo bar'" foo_LDFLAGS "${foo_LDFLAGS}") message(STATUS " foo_LDFLAGS is now ${foo_LDFLAGS}") message(STATUS " foo_LIBDIR is ${foo_LIBDIR}") # Use Makefile for this; cmake doesn't quote, so clang explodes on paths with spaces #add_library ( "foo bar" SHARED foo.c ) #set_target_properties("foo bar" PROPERTIES # FRAMEWORK TRUE # FRAMEWORK_VERSION 1.0 # MACOSX_FRAMEWORK_IDENTIFIER "org.bug.foo bar" # MACOSX_FRAMEWORK_SHORT_VERSION_STRING 1.0 # MACOSX_FRAMEWORK_BUNDLE_VERSION 1.0 #) add_executable(main main.c) target_link_libraries(main -F. ${foo_LDFLAGS})