diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..18333cf --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +cmake_build/ +cmake_build_msvc/ +dist/ diff --git a/CMakeLists.txt b/CMakeLists.txt index ca20af0..ac502f1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,9 +39,19 @@ endmacro(configure_files_recurse) project (CubicSDR) -SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) -SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_BINARY_DIR}) -SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_BINARY_DIR}) +if( CMAKE_SIZEOF_VOID_P EQUAL 8 ) + MESSAGE( "64 bit compiler detected" ) + 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/) #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 ) # link_directories ( ${PROJECT_SOURCE_DIR}/../CubicVR-2/build/lib ${OPENGL_INCLUDE_DIR}) + IF (WIN32) set(wxWidgets_USE_STATIC ON) - include_directories ( ${PROJECT_SOURCE_DIR}/external/fftw-3.3.4-dll64 ${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 ) - set(FFTW_LIB fftw3f-3) + 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/${EX_PLATFORM_NAME} ${PROJECT_SOURCE_DIR}/external/rtl-sdr-release/${EX_PLATFORM_NAME} ) + 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 ) - - ADD_DEFINITIONS( - # To use wasapi - -D__WINDOWS_WASAPI__ - - # To use directsound - #-D__WINDOWS_DS__ - ) - - # To use wasapi - SET(OTHER_LIBRARIES -luuid -lksuser ) - - # To use DirectSound (which uses WASAPI anyways?) - # SET(OTHER_LIBRARIES -ldsound) + set(LIQUID_LIB libliquid) + + set(win_SOUND_LIB "DirectSound" CACHE STRING "Windows Sound Library (WASAPI, DirectSound") + IF(${win_SOUND_LIB} STREQUAL "WASAPI") + ADD_DEFINITIONS(-D__WINDOWS_WASAPI__) + IF (NOT MSVC) + SET(OTHER_LIBRARIES -luuid -lksuser ) + ENDIF(NOT MSVC) + ELSE() + ADD_DEFINITIONS(-D__WINDOWS_DS__) + IF (MSVC) + SET(OTHER_LIBRARIES dsound.lib) + ELSE (MSVC) + SET(OTHER_LIBRARIES -ldsound) + ENDIF (MSVC) + ENDIF() # 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/rtl-sdr-release/x64 ${CMAKE_BINARY_DIR} "*.dll") - configure_files(${PROJECT_SOURCE_DIR}/external/fftw-3.3.4-dll64 ${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/${EX_PLATFORM_NAME} ${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME} "*.dll") + configure_files(${PROJECT_SOURCE_DIR}/external/fftw-3.3.4/${EX_PLATFORM_NAME} ${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME} "*.dll") ENDIF (WIN32) @@ -239,17 +252,26 @@ include_directories ( ${PROJECT_SOURCE_DIR}/external/lodepng ${PROJECT_SOURCE_DIR}/external/tinyxml ) +IF (NOT MSVC) + ADD_DEFINITIONS( + -std=c++0x # or -std=c++11 + -pthread + ) +ENDIF(NOT MSVC) -ADD_DEFINITIONS( - -std=c++0x # or -std=c++11 - -pthread -) - -configure_files(${PROJECT_SOURCE_DIR}/font ${CMAKE_BINARY_DIR} "*.fnt") -configure_files(${PROJECT_SOURCE_DIR}/font ${CMAKE_BINARY_DIR} "*.png") +configure_files(${PROJECT_SOURCE_DIR}/font ${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME} "*.fnt") +configure_files(${PROJECT_SOURCE_DIR}/font ${CMAKE_BINARY_DIR}/${EX_PLATFORM_NAME} "*.png") 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) diff --git a/cmake_build/.gitignore b/cmake_build/.gitignore deleted file mode 100644 index 1e449b9..0000000 --- a/cmake_build/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -[^.]* -.project -.cproject diff --git a/external/fftw-3.3.4-dll64/fftw3.h b/external/fftw-3.3.4/fftw3.h similarity index 100% rename from external/fftw-3.3.4-dll64/fftw3.h rename to external/fftw-3.3.4/fftw3.h diff --git a/external/fftw-3.3.4-dll64/libfftw3f-3.a b/external/fftw-3.3.4/x64/libfftw3f-3.a similarity index 100% rename from external/fftw-3.3.4-dll64/libfftw3f-3.a rename to external/fftw-3.3.4/x64/libfftw3f-3.a diff --git a/external/fftw-3.3.4-dll64/libfftw3f-3.def b/external/fftw-3.3.4/x64/libfftw3f-3.def similarity index 100% rename from external/fftw-3.3.4-dll64/libfftw3f-3.def rename to external/fftw-3.3.4/x64/libfftw3f-3.def diff --git a/external/fftw-3.3.4-dll64/libfftw3f-3.dll b/external/fftw-3.3.4/x64/libfftw3f-3.dll similarity index 100% rename from external/fftw-3.3.4-dll64/libfftw3f-3.dll rename to external/fftw-3.3.4/x64/libfftw3f-3.dll diff --git a/external/fftw-3.3.4/x64/libfftw3f-3.exp b/external/fftw-3.3.4/x64/libfftw3f-3.exp new file mode 100644 index 0000000..f7fe72a Binary files /dev/null and b/external/fftw-3.3.4/x64/libfftw3f-3.exp differ diff --git a/external/fftw-3.3.4/x64/libfftw3f-3.lib b/external/fftw-3.3.4/x64/libfftw3f-3.lib new file mode 100644 index 0000000..4f2f89d Binary files /dev/null and b/external/fftw-3.3.4/x64/libfftw3f-3.lib differ diff --git a/external/fftw-3.3.4/x86/libfftw3f-3.dll b/external/fftw-3.3.4/x86/libfftw3f-3.dll new file mode 100644 index 0000000..e40d992 Binary files /dev/null and b/external/fftw-3.3.4/x86/libfftw3f-3.dll differ diff --git a/external/fftw-3.3.4/x86/libfftw3f-3.exp b/external/fftw-3.3.4/x86/libfftw3f-3.exp new file mode 100644 index 0000000..2083356 Binary files /dev/null and b/external/fftw-3.3.4/x86/libfftw3f-3.exp differ diff --git a/external/fftw-3.3.4/x86/libfftw3f-3.lib b/external/fftw-3.3.4/x86/libfftw3f-3.lib new file mode 100644 index 0000000..475cf8f Binary files /dev/null and b/external/fftw-3.3.4/x86/libfftw3f-3.lib differ diff --git a/external/liquid-dsp/lib/32/libliquid.exp b/external/liquid-dsp/lib/32/libliquid.exp new file mode 100644 index 0000000..eceb3d5 Binary files /dev/null and b/external/liquid-dsp/lib/32/libliquid.exp differ diff --git a/external/liquid-dsp/lib/32/libliquid.lib b/external/liquid-dsp/lib/32/libliquid.lib new file mode 100644 index 0000000..300cba0 Binary files /dev/null and b/external/liquid-dsp/lib/32/libliquid.lib differ diff --git a/external/liquid-dsp/lib/64/libliquid.exp b/external/liquid-dsp/lib/64/libliquid.exp new file mode 100644 index 0000000..7e9f89b Binary files /dev/null and b/external/liquid-dsp/lib/64/libliquid.exp differ diff --git a/external/liquid-dsp/lib/64/libliquid.lib b/external/liquid-dsp/lib/64/libliquid.lib new file mode 100644 index 0000000..0d4a1f9 Binary files /dev/null and b/external/liquid-dsp/lib/64/libliquid.lib differ diff --git a/external/rtl-sdr-release/x32/convenience_static.lib b/external/rtl-sdr-release/x32/convenience_static.lib deleted file mode 100644 index 859a8fb..0000000 Binary files a/external/rtl-sdr-release/x32/convenience_static.lib and /dev/null differ diff --git a/external/rtl-sdr-release/x32/libusb-1.0.dll b/external/rtl-sdr-release/x32/libusb-1.0.dll deleted file mode 100644 index bce94fc..0000000 Binary files a/external/rtl-sdr-release/x32/libusb-1.0.dll and /dev/null differ diff --git a/external/rtl-sdr-release/x32/rtlsdr.dll b/external/rtl-sdr-release/x32/rtlsdr.dll deleted file mode 100644 index 40cff2b..0000000 Binary files a/external/rtl-sdr-release/x32/rtlsdr.dll and /dev/null differ diff --git a/external/rtl-sdr-release/x32/rtlsdr.lib b/external/rtl-sdr-release/x32/rtlsdr.lib deleted file mode 100644 index 26de5d5..0000000 Binary files a/external/rtl-sdr-release/x32/rtlsdr.lib and /dev/null differ diff --git a/external/rtl-sdr-release/x32/rtlsdr_static.lib b/external/rtl-sdr-release/x32/rtlsdr_static.lib deleted file mode 100644 index 5505ea8..0000000 Binary files a/external/rtl-sdr-release/x32/rtlsdr_static.lib and /dev/null differ diff --git a/external/rtl-sdr-release/x64/libconvenience_static.a b/external/rtl-sdr-release/x64/libconvenience_static.a deleted file mode 100644 index 59f0d7d..0000000 Binary files a/external/rtl-sdr-release/x64/libconvenience_static.a and /dev/null differ diff --git a/external/rtl-sdr-release/x64/liblibgetopt_static.a b/external/rtl-sdr-release/x64/liblibgetopt_static.a deleted file mode 100644 index c9c9637..0000000 Binary files a/external/rtl-sdr-release/x64/liblibgetopt_static.a and /dev/null differ diff --git a/external/rtl-sdr-release/x64/librtlsdr.dll b/external/rtl-sdr-release/x64/librtlsdr.dll deleted file mode 100644 index 5ef522a..0000000 Binary files a/external/rtl-sdr-release/x64/librtlsdr.dll and /dev/null differ diff --git a/external/rtl-sdr-release/x64/librtlsdr.dll.a b/external/rtl-sdr-release/x64/librtlsdr.dll.a deleted file mode 100644 index 2e0542e..0000000 Binary files a/external/rtl-sdr-release/x64/librtlsdr.dll.a and /dev/null differ diff --git a/external/rtl-sdr-release/x64/librtlsdr_static.a b/external/rtl-sdr-release/x64/librtlsdr_static.a deleted file mode 100644 index b9f0342..0000000 Binary files a/external/rtl-sdr-release/x64/librtlsdr_static.a and /dev/null differ diff --git a/external/rtl-sdr-release/x64/libusb-1.0.dll b/external/rtl-sdr-release/x64/libusb-1.0.dll index 79dba9e..4e70c38 100644 Binary files a/external/rtl-sdr-release/x64/libusb-1.0.dll and b/external/rtl-sdr-release/x64/libusb-1.0.dll differ diff --git a/external/rtl-sdr-release/x64/rtlsdr.dll b/external/rtl-sdr-release/x64/rtlsdr.dll new file mode 100644 index 0000000..26f50d6 Binary files /dev/null and b/external/rtl-sdr-release/x64/rtlsdr.dll differ diff --git a/external/rtl-sdr-release/x64/rtlsdr.exp b/external/rtl-sdr-release/x64/rtlsdr.exp new file mode 100644 index 0000000..a63b964 Binary files /dev/null and b/external/rtl-sdr-release/x64/rtlsdr.exp differ diff --git a/external/rtl-sdr-release/x64/rtlsdr.lib b/external/rtl-sdr-release/x64/rtlsdr.lib new file mode 100644 index 0000000..0e38fac Binary files /dev/null and b/external/rtl-sdr-release/x64/rtlsdr.lib differ diff --git a/external/rtl-sdr-release/x64/rtlsdr_static.lib b/external/rtl-sdr-release/x64/rtlsdr_static.lib new file mode 100644 index 0000000..4684051 Binary files /dev/null and b/external/rtl-sdr-release/x64/rtlsdr_static.lib differ diff --git a/external/rtl-sdr-release/x86/libusb-1.0.dll b/external/rtl-sdr-release/x86/libusb-1.0.dll new file mode 100644 index 0000000..6fc1fbd Binary files /dev/null and b/external/rtl-sdr-release/x86/libusb-1.0.dll differ diff --git a/external/rtl-sdr-release/x86/rtlsdr.dll b/external/rtl-sdr-release/x86/rtlsdr.dll new file mode 100644 index 0000000..3815341 Binary files /dev/null and b/external/rtl-sdr-release/x86/rtlsdr.dll differ diff --git a/external/rtl-sdr-release/x86/rtlsdr.exp b/external/rtl-sdr-release/x86/rtlsdr.exp new file mode 100644 index 0000000..b50f96c Binary files /dev/null and b/external/rtl-sdr-release/x86/rtlsdr.exp differ diff --git a/external/rtl-sdr-release/x86/rtlsdr.lib b/external/rtl-sdr-release/x86/rtlsdr.lib new file mode 100644 index 0000000..d0634f9 Binary files /dev/null and b/external/rtl-sdr-release/x86/rtlsdr.lib differ diff --git a/external/rtl-sdr-release/x86/rtlsdr_static.lib b/external/rtl-sdr-release/x86/rtlsdr_static.lib new file mode 100644 index 0000000..a5ba312 Binary files /dev/null and b/external/rtl-sdr-release/x86/rtlsdr_static.lib differ