diff options
Diffstat (limited to 'project/cmake/modules/FindCpluff.cmake')
| -rw-r--r-- | project/cmake/modules/FindCpluff.cmake | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/project/cmake/modules/FindCpluff.cmake b/project/cmake/modules/FindCpluff.cmake index c6693fa..fb2bb25 100644 --- a/project/cmake/modules/FindCpluff.cmake +++ b/project/cmake/modules/FindCpluff.cmake | |||
| @@ -8,38 +8,46 @@ | |||
| 8 | 8 | ||
| 9 | if(NOT WIN32) | 9 | if(NOT WIN32) |
| 10 | string(REPLACE ";" " " defines "${CMAKE_C_FLAGS} ${SYSTEM_DEFINES} -I${EXPAT_INCLUDE_DIR}") | 10 | string(REPLACE ";" " " defines "${CMAKE_C_FLAGS} ${SYSTEM_DEFINES} -I${EXPAT_INCLUDE_DIR}") |
| 11 | get_filename_component(expat_dir ${EXPAT_LIBRARY} PATH) | 11 | get_filename_component(expat_dir ${EXPAT_LIBRARY} DIRECTORY) |
| 12 | set(ldflags "-L${expat_dir}") | 12 | set(ldflags "-L${expat_dir}") |
| 13 | ExternalProject_Add(libcpluff SOURCE_DIR ${CORE_SOURCE_DIR}/lib/cpluff | 13 | ExternalProject_Add(libcpluff SOURCE_DIR ${CORE_SOURCE_DIR}/lib/cpluff |
| 14 | BUILD_IN_SOURCE 1 | 14 | BUILD_IN_SOURCE 1 |
| 15 | PREFIX ${CORE_BUILD_DIR}/cpluff | 15 | PREFIX ${CORE_BUILD_DIR}/cpluff |
| 16 | PATCH_COMMAND rm -f config.status | ||
| 17 | UPDATE_COMMAND PATH=${NATIVEPREFIX}/bin:$ENV{PATH} autoreconf -vif | ||
| 18 | CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} ${CORE_SOURCE_DIR}/lib/cpluff/configure | 16 | CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} ${CORE_SOURCE_DIR}/lib/cpluff/configure |
| 19 | --disable-nls | 17 | --disable-nls |
| 20 | --enable-static | 18 | --enable-static |
| 21 | --disable-shared | 19 | --disable-shared |
| 22 | --with-pic | 20 | --with-pic |
| 23 | --prefix=<INSTALL_DIR> | 21 | --prefix=<INSTALL_DIR> |
| 22 | --libdir=<INSTALL_DIR>/lib | ||
| 24 | --host=${ARCH} | 23 | --host=${ARCH} |
| 25 | CFLAGS=${defines} | 24 | CFLAGS=${defines} |
| 26 | LDFLAGS=${ldflags} | 25 | LDFLAGS=${ldflags}) |
| 27 | BUILD_COMMAND make V=1) | 26 | ExternalProject_Add_Step(libcpluff autoreconf |
| 27 | DEPENDEES download update patch | ||
| 28 | DEPENDERS configure | ||
| 29 | COMMAND rm -f config.status | ||
| 30 | COMMAND PATH=${NATIVEPREFIX}/bin:$ENV{PATH} autoreconf -vif | ||
| 31 | WORKING_DIRECTORY <SOURCE_DIR>) | ||
| 32 | |||
| 28 | set(ldflags "${ldflags};-lexpat") | 33 | set(ldflags "${ldflags};-lexpat") |
| 29 | core_link_library(${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/lib/libcpluff.a | 34 | core_link_library(${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/lib/libcpluff.a |
| 30 | system/libcpluff libcpluff extras "${ldflags}") | 35 | system/libcpluff libcpluff extras "${ldflags}") |
| 31 | set(WRAP_FILES ${WRAP_FILES} PARENT_SCOPE) | 36 | set(CPLUFF_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/include) |
| 37 | set(CPLUFF_FOUND 1) | ||
| 38 | mark_as_advanced(CPLUFF_INCLUDE_DIRS CPLUFF_FOUND) | ||
| 32 | else() | 39 | else() |
| 33 | ExternalProject_Add(libcpluff SOURCE_DIR ${CORE_SOURCE_DIR}/lib/cpluff | 40 | find_path(CPLUFF_INCLUDE_DIR cpluff.h) |
| 34 | PREFIX ${CORE_BUILD_DIR}/cpluff | ||
| 35 | CONFIGURE_COMMAND "" | ||
| 36 | # TODO: Building the project directly from lib/cpluff/libcpluff/win32/cpluff.vcxproj | ||
| 37 | # fails becaue it imports XBMC.defaults.props | ||
| 38 | BUILD_COMMAND msbuild ${CORE_SOURCE_DIR}/project/VS2010Express/XBMC\ for\ Windows.sln | ||
| 39 | /t:cpluff /p:Configuration=${CORE_BUILD_CONFIG} | ||
| 40 | INSTALL_COMMAND "") | ||
| 41 | endif() | ||
| 42 | 41 | ||
| 43 | set(CPLUFF_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/include) | 42 | include(FindPackageHandleStandardArgs) |
| 44 | set(CPLUFF_FOUND 1) | 43 | find_package_handle_standard_args(CPLUFF |
| 45 | mark_as_advanced(CPLUFF_INCLUDE_DIRS CPLUFF_FOUND) | 44 | REQUIRED_VARS CPLUFF_INCLUDE_DIR) |
| 45 | |||
| 46 | if(CPLUFF_FOUND) | ||
| 47 | set(CPLUFF_INCLUDE_DIRS ${CPLUFF_INCLUDE_DIR}) | ||
| 48 | endif() | ||
| 49 | mark_as_advanced(CPLUFF_INCLUDE_DIRS CPLUFF_FOUND) | ||
| 50 | |||
| 51 | add_custom_target(libcpluff) | ||
| 52 | endif() | ||
| 53 | set_target_properties(libcpluff PROPERTIES FOLDER "External Projects") | ||
