summaryrefslogtreecommitdiffstats
path: root/project/cmake/modules/FindCpluff.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'project/cmake/modules/FindCpluff.cmake')
-rw-r--r--project/cmake/modules/FindCpluff.cmake44
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
9if(NOT WIN32) 9if(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)
32else() 39else()
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 "")
41endif()
42 41
43set(CPLUFF_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/include) 42 include(FindPackageHandleStandardArgs)
44set(CPLUFF_FOUND 1) 43 find_package_handle_standard_args(CPLUFF
45mark_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)
52endif()
53set_target_properties(libcpluff PROPERTIES FOLDER "External Projects")