@@ -51,20 +51,60 @@ if(${JVX_OS} MATCHES "windows")
5151 # message(FATAL_ERROR "KISSFFT: ${AYF_KISSFFT_INCLUDE_DIR} -- ${AYF_KISSFFT_LIBRARIES} -- ${AYF_KISSFFT_COMPILE_FLAGS}")
5252
5353elseif (${JVX_OS} MATCHES "linux" )
54- ## Install <sudo apt-get install libhdf5-dev>
55- find_package (PkgConfig )
54+
55+
56+
57+ if (JVX_LINUX_NATIVE_INSTALLED_LIBS)
58+ find_package (kissfft REQUIRED )
59+
60+ message (FATAL_ERROR "-> KISSFFT -- ${OpenCV_LIBS} -- ${OpenCV_INCLUDE_DIRS} " )
61+
62+ set (OPENCV_LIBRARY_PATH "${KissFft_INCLUDE_DIRS} " CACHE INTERNAL "kissfft include references" )
63+ set (OPENCV_LIBRARIES ${KissFft_LIBS} CACHE INTERNAL "opencv library references" )
64+ else ()
65+ set (targetfolder kissfft)
5666
57- set (targetfolder kissfft)
58- set (archtoken glnx)
67+ set (archtoken glnx)
5968
60- message ("kissfft sub project not available. Starting script to download it." )
61- execute_process (COMMAND ${mysh} -c "cd ${CMAKE_CURRENT_SOURCE_DIR } ; ./prepareModules-glnx.sh; exit" )
62- message ("kissfft installation complete." )
69+ set (archtoken "${archtoken} " )
70+
71+ set (dataformattoken "double" )
72+ if (JVX_SYSTEM_USE_DATA_FORMAT_FLOAT)
73+ set (dataformattoken "float" )
74+ endif ()
75+
76+ set (AYF_KISSFFT_COMPILE_FLAGS "-Dkiss_fft_scalar=${dataformattoken} " CACHE INTERNAL "kissfft compile flags" )
6377
64- set (AYF_KISSFFT_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR } / ${targetfolder} " CACHE INTERNAL "kissfft include references " )
65- set (AYF_KISSFFT_LIBRARIES " ${ CMAKE_CURRENT_SOURCE_DIR } / ${targetfolder} / ${archtoken} /lib/kissfft.a" CACHE INTERNAL "kissfft library references " )
78+ set (AYF_KISSFFT_INSTALL_FOLDER "${targetfolder} - ${archtoken} - ${dataformattoken} - ${ CMAKE_BUILD_TYPE } " )
79+ set (AYF_KISSFFT_BUILD_FOLDER "build- ${archtoken} _ ${dataformattoken} _ ${ CMAKE_BUILD_TYPE } " )
6680
81+ message ("Checking folder ${CMAKE_CURRENT_SOURCE_DIR } /${AYF_KISSFFT_INSTALL_FOLDER} " )
82+ if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR } /${AYF_KISSFFT_INSTALL_FOLDER} " )
6783
84+ message (" --> does not exist." )
85+
86+ # kissfft-%arch%-%dataformattoken%-%buildtype%
87+ if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR } /${targetfolder} " )
88+ message ("kissfft sub project not available. Starting script to download it." )
89+ execute_process (COMMAND ${mysh} -c "cd ${CMAKE_CURRENT_SOURCE_DIR } ; ./prepareModules-win.sh; exit" )
90+ message ("kissfft installation complete." )
91+ endif ()
92+
93+ # Build the kissfft library
94+ if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR } /${AYF_KISSFFT_BUILD_FOLDER} " )
95+ file (MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR } /" )
96+ endif ()
97+
98+ execute_process (COMMAND ${mysh} -c "cd ${CMAKE_CURRENT_SOURCE_DIR } ; ./prepareModules-glnx.sh ${archtoken} ${targetfolder} ${dataformattoken} ${CMAKE_BUILD_TYPE } " )
99+
100+ # message(FATAL_ERROR "file(REMOVE_RECURSE \"${CMAKE_CURRENT_SOURCE_DIR}/${AYF_KISSFFT_BUILD_FOLDER}\")")
101+ #file(REMOVE_RECURSE "${CMAKE_CURRENT_SOURCE_DIR}/${AYF_KISSFFT_BUILD_FOLDER}")
102+ endif ()
103+
104+ set (AYF_KISSFFT_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR } /${AYF_KISSFFT_INSTALL_FOLDER} /include/kissfft" CACHE INTERNAL "kissfft include references" )
105+ set (AYF_KISSFFT_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR } /${AYF_KISSFFT_INSTALL_FOLDER} /lib/libkissfft-${dataformattoken} .so" CACHE INTERNAL "kissfft library references" )
106+
107+ endif ()
68108
69109elseif (${JVX_OS} MATCHES "Android" )
70110
0 commit comments