mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2024-11-24 20:58:37 -05:00
Updated cmake for Visual C++ 12
Updated cmake file to properly generate project files for Visual C++ 12, I also have added and tweaked the way the external libraries are referenced, and in theory 32bit builds are included.
This commit is contained in:
parent
1ed7d95193
commit
b708bece59
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
cmake_build/
|
||||||
|
cmake_build_msvc/
|
||||||
|
dist/
|
@ -39,9 +39,19 @@ endmacro(configure_files_recurse)
|
|||||||
|
|
||||||
project (CubicSDR)
|
project (CubicSDR)
|
||||||
|
|
||||||
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
|
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||||
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_BINARY_DIR})
|
MESSAGE( "64 bit compiler detected" )
|
||||||
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_BINARY_DIR})
|
SET( EX_PLATFORM 64 )
|
||||||
|
SET( EX_PLATFORM_NAME "x64" )
|
||||||
|
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||||
|
MESSAGE( "32 bit compiler detected" )
|
||||||
|
SET( EX_PLATFORM 32 )
|
||||||
|
SET( EX_PLATFORM_NAME "x86" )
|
||||||
|
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||||
|
|
||||||
|
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${EX_PLATFORM_NAME})
|
||||||
|
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_BINARY_DIR}/${EX_PLATFORM_NAME})
|
||||||
|
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_BINARY_DIR}/${EX_PLATFORM_NAME})
|
||||||
|
|
||||||
#add_subdirectory(${PROJECT_SOURCE_DIR}/glfw-3.0.3 ${PROJECT_BINARY_DIR}/glfw/)
|
#add_subdirectory(${PROJECT_SOURCE_DIR}/glfw-3.0.3 ${PROJECT_BINARY_DIR}/glfw/)
|
||||||
#include_directories(${PROJECT_SOURCE_DIR}/glfw-3.0.3/include)
|
#include_directories(${PROJECT_SOURCE_DIR}/glfw-3.0.3/include)
|
||||||
@ -57,33 +67,36 @@ include(${wxWidgets_USE_FILE})
|
|||||||
# include_directories ( ${PROJECT_SOURCE_DIR}/../CubicVR-2/build/include )
|
# include_directories ( ${PROJECT_SOURCE_DIR}/../CubicVR-2/build/include )
|
||||||
# link_directories ( ${PROJECT_SOURCE_DIR}/../CubicVR-2/build/lib ${OPENGL_INCLUDE_DIR})
|
# link_directories ( ${PROJECT_SOURCE_DIR}/../CubicVR-2/build/lib ${OPENGL_INCLUDE_DIR})
|
||||||
|
|
||||||
|
|
||||||
IF (WIN32)
|
IF (WIN32)
|
||||||
set(wxWidgets_USE_STATIC ON)
|
set(wxWidgets_USE_STATIC ON)
|
||||||
include_directories ( ${PROJECT_SOURCE_DIR}/external/fftw-3.3.4-dll64 ${PROJECT_SOURCE_DIR}/external/rtl-sdr-release )
|
include_directories ( ${PROJECT_SOURCE_DIR}/external/fftw-3.3.4 ${PROJECT_SOURCE_DIR}/external/rtl-sdr-release )
|
||||||
link_directories ( ${PROJECT_SOURCE_DIR}/external/fftw-3.3.4-dll64 ${PROJECT_SOURCE_DIR}/external/rtl-sdr-release/x64 )
|
link_directories ( ${PROJECT_SOURCE_DIR}/external/fftw-3.3.4/${EX_PLATFORM_NAME} ${PROJECT_SOURCE_DIR}/external/rtl-sdr-release/${EX_PLATFORM_NAME} )
|
||||||
set(FFTW_LIB fftw3f-3)
|
set(FFTW_LIB libfftw3f-3)
|
||||||
|
|
||||||
link_directories ( ${PROJECT_SOURCE_DIR}/external/liquid-dsp/lib/64 )
|
link_directories ( ${PROJECT_SOURCE_DIR}/external/liquid-dsp/lib/${EX_PLATFORM} )
|
||||||
include_directories ( ${PROJECT_SOURCE_DIR}/external/liquid-dsp/include )
|
include_directories ( ${PROJECT_SOURCE_DIR}/external/liquid-dsp/include )
|
||||||
|
set(LIQUID_LIB libliquid)
|
||||||
ADD_DEFINITIONS(
|
|
||||||
# To use wasapi
|
set(win_SOUND_LIB "DirectSound" CACHE STRING "Windows Sound Library (WASAPI, DirectSound")
|
||||||
-D__WINDOWS_WASAPI__
|
IF(${win_SOUND_LIB} STREQUAL "WASAPI")
|
||||||
|
ADD_DEFINITIONS(-D__WINDOWS_WASAPI__)
|
||||||
# To use directsound
|
IF (NOT MSVC)
|
||||||
#-D__WINDOWS_DS__
|
SET(OTHER_LIBRARIES -luuid -lksuser )
|
||||||
)
|
ENDIF(NOT MSVC)
|
||||||
|
ELSE()
|
||||||
# To use wasapi
|
ADD_DEFINITIONS(-D__WINDOWS_DS__)
|
||||||
SET(OTHER_LIBRARIES -luuid -lksuser )
|
IF (MSVC)
|
||||||
|
SET(OTHER_LIBRARIES dsound.lib)
|
||||||
# To use DirectSound (which uses WASAPI anyways?)
|
ELSE (MSVC)
|
||||||
# SET(OTHER_LIBRARIES -ldsound)
|
SET(OTHER_LIBRARIES -ldsound)
|
||||||
|
ENDIF (MSVC)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# Copy DLL files to build dir
|
# Copy DLL files to build dir
|
||||||
configure_files(${PROJECT_SOURCE_DIR}/external/liquid-dsp-lib/64 ${CMAKE_BINARY_DIR} "*.dll")
|
configure_files(${PROJECT_SOURCE_DIR}/external/liquid-dsp/lib/${EX_PLATFORM} ${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME} "*.dll")
|
||||||
configure_files(${PROJECT_SOURCE_DIR}/external/rtl-sdr-release/x64 ${CMAKE_BINARY_DIR} "*.dll")
|
configure_files(${PROJECT_SOURCE_DIR}/external/rtl-sdr-release/${EX_PLATFORM_NAME} ${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME} "*.dll")
|
||||||
configure_files(${PROJECT_SOURCE_DIR}/external/fftw-3.3.4-dll64 ${CMAKE_BINARY_DIR} "*.dll")
|
configure_files(${PROJECT_SOURCE_DIR}/external/fftw-3.3.4/${EX_PLATFORM_NAME} ${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME} "*.dll")
|
||||||
|
|
||||||
ENDIF (WIN32)
|
ENDIF (WIN32)
|
||||||
|
|
||||||
@ -239,17 +252,26 @@ include_directories (
|
|||||||
${PROJECT_SOURCE_DIR}/external/lodepng
|
${PROJECT_SOURCE_DIR}/external/lodepng
|
||||||
${PROJECT_SOURCE_DIR}/external/tinyxml
|
${PROJECT_SOURCE_DIR}/external/tinyxml
|
||||||
)
|
)
|
||||||
|
IF (NOT MSVC)
|
||||||
|
ADD_DEFINITIONS(
|
||||||
|
-std=c++0x # or -std=c++11
|
||||||
|
-pthread
|
||||||
|
)
|
||||||
|
ENDIF(NOT MSVC)
|
||||||
|
|
||||||
ADD_DEFINITIONS(
|
configure_files(${PROJECT_SOURCE_DIR}/font ${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME} "*.fnt")
|
||||||
-std=c++0x # or -std=c++11
|
configure_files(${PROJECT_SOURCE_DIR}/font ${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME} "*.png")
|
||||||
-pthread
|
|
||||||
)
|
|
||||||
|
|
||||||
configure_files(${PROJECT_SOURCE_DIR}/font ${CMAKE_BINARY_DIR} "*.fnt")
|
|
||||||
configure_files(${PROJECT_SOURCE_DIR}/font ${CMAKE_BINARY_DIR} "*.png")
|
|
||||||
|
|
||||||
add_executable(CubicSDR ${cubicsdr_sources} ${cubicsdr_headers})
|
add_executable(CubicSDR ${cubicsdr_sources} ${cubicsdr_headers})
|
||||||
|
|
||||||
target_link_libraries(CubicSDR rtlsdr liquid ${FFTW_LIB} ${wxWidgets_LIBRARIES} ${OPENGL_LIBRARIES} ${OTHER_LIBRARIES})
|
target_link_libraries(CubicSDR rtlsdr ${LIQUID_LIB} ${FFTW_LIB} ${wxWidgets_LIBRARIES} ${OPENGL_LIBRARIES} ${OTHER_LIBRARIES})
|
||||||
|
|
||||||
|
IF (WIN32)
|
||||||
|
set_target_properties(CubicSDR PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE")
|
||||||
|
set_target_properties(CubicSDR PROPERTIES COMPILE_DEFINITIONS_DEBUG "_CONSOLE")
|
||||||
|
set_target_properties(CubicSDR PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE")
|
||||||
|
set_target_properties(CubicSDR PROPERTIES COMPILE_DEFINITIONS_RELWITHDEBINFO "_CONSOLE")
|
||||||
|
set_target_properties(CubicSDR PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS")
|
||||||
|
set_target_properties(CubicSDR PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS")
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
3
cmake_build/.gitignore
vendored
3
cmake_build/.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
[^.]*
|
|
||||||
.project
|
|
||||||
.cproject
|
|
BIN
external/fftw-3.3.4/x64/libfftw3f-3.exp
vendored
Normal file
BIN
external/fftw-3.3.4/x64/libfftw3f-3.exp
vendored
Normal file
Binary file not shown.
BIN
external/fftw-3.3.4/x64/libfftw3f-3.lib
vendored
Normal file
BIN
external/fftw-3.3.4/x64/libfftw3f-3.lib
vendored
Normal file
Binary file not shown.
BIN
external/fftw-3.3.4/x86/libfftw3f-3.dll
vendored
Normal file
BIN
external/fftw-3.3.4/x86/libfftw3f-3.dll
vendored
Normal file
Binary file not shown.
BIN
external/fftw-3.3.4/x86/libfftw3f-3.exp
vendored
Normal file
BIN
external/fftw-3.3.4/x86/libfftw3f-3.exp
vendored
Normal file
Binary file not shown.
BIN
external/fftw-3.3.4/x86/libfftw3f-3.lib
vendored
Normal file
BIN
external/fftw-3.3.4/x86/libfftw3f-3.lib
vendored
Normal file
Binary file not shown.
BIN
external/liquid-dsp/lib/32/libliquid.exp
vendored
Normal file
BIN
external/liquid-dsp/lib/32/libliquid.exp
vendored
Normal file
Binary file not shown.
BIN
external/liquid-dsp/lib/32/libliquid.lib
vendored
Normal file
BIN
external/liquid-dsp/lib/32/libliquid.lib
vendored
Normal file
Binary file not shown.
BIN
external/liquid-dsp/lib/64/libliquid.exp
vendored
Normal file
BIN
external/liquid-dsp/lib/64/libliquid.exp
vendored
Normal file
Binary file not shown.
BIN
external/liquid-dsp/lib/64/libliquid.lib
vendored
Normal file
BIN
external/liquid-dsp/lib/64/libliquid.lib
vendored
Normal file
Binary file not shown.
BIN
external/rtl-sdr-release/x32/convenience_static.lib
vendored
BIN
external/rtl-sdr-release/x32/convenience_static.lib
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x32/libusb-1.0.dll
vendored
BIN
external/rtl-sdr-release/x32/libusb-1.0.dll
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x32/rtlsdr.dll
vendored
BIN
external/rtl-sdr-release/x32/rtlsdr.dll
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x32/rtlsdr.lib
vendored
BIN
external/rtl-sdr-release/x32/rtlsdr.lib
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x32/rtlsdr_static.lib
vendored
BIN
external/rtl-sdr-release/x32/rtlsdr_static.lib
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x64/libconvenience_static.a
vendored
BIN
external/rtl-sdr-release/x64/libconvenience_static.a
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x64/liblibgetopt_static.a
vendored
BIN
external/rtl-sdr-release/x64/liblibgetopt_static.a
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x64/librtlsdr.dll
vendored
BIN
external/rtl-sdr-release/x64/librtlsdr.dll
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x64/librtlsdr.dll.a
vendored
BIN
external/rtl-sdr-release/x64/librtlsdr.dll.a
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x64/librtlsdr_static.a
vendored
BIN
external/rtl-sdr-release/x64/librtlsdr_static.a
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x64/libusb-1.0.dll
vendored
BIN
external/rtl-sdr-release/x64/libusb-1.0.dll
vendored
Binary file not shown.
BIN
external/rtl-sdr-release/x64/rtlsdr.dll
vendored
Normal file
BIN
external/rtl-sdr-release/x64/rtlsdr.dll
vendored
Normal file
Binary file not shown.
BIN
external/rtl-sdr-release/x64/rtlsdr.exp
vendored
Normal file
BIN
external/rtl-sdr-release/x64/rtlsdr.exp
vendored
Normal file
Binary file not shown.
BIN
external/rtl-sdr-release/x64/rtlsdr.lib
vendored
Normal file
BIN
external/rtl-sdr-release/x64/rtlsdr.lib
vendored
Normal file
Binary file not shown.
BIN
external/rtl-sdr-release/x64/rtlsdr_static.lib
vendored
Normal file
BIN
external/rtl-sdr-release/x64/rtlsdr_static.lib
vendored
Normal file
Binary file not shown.
BIN
external/rtl-sdr-release/x86/libusb-1.0.dll
vendored
Normal file
BIN
external/rtl-sdr-release/x86/libusb-1.0.dll
vendored
Normal file
Binary file not shown.
BIN
external/rtl-sdr-release/x86/rtlsdr.dll
vendored
Normal file
BIN
external/rtl-sdr-release/x86/rtlsdr.dll
vendored
Normal file
Binary file not shown.
BIN
external/rtl-sdr-release/x86/rtlsdr.exp
vendored
Normal file
BIN
external/rtl-sdr-release/x86/rtlsdr.exp
vendored
Normal file
Binary file not shown.
BIN
external/rtl-sdr-release/x86/rtlsdr.lib
vendored
Normal file
BIN
external/rtl-sdr-release/x86/rtlsdr.lib
vendored
Normal file
Binary file not shown.
BIN
external/rtl-sdr-release/x86/rtlsdr_static.lib
vendored
Normal file
BIN
external/rtl-sdr-release/x86/rtlsdr_static.lib
vendored
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user