Commit Graph

30 Commits

Author SHA1 Message Date
Martijn van Beurden 0ec47a87b4 [CMake] Remove /MT from MSVC flags, causes crashes with shared libs 2022-04-13 17:37:50 +02:00
Martijn van Beurden db72703f86 [CMake] Set binary and library output dir to objs on Windows
Without this patch, CMake places output binaries and libraries in
the respective source directories, like the autotools build system.
The Visual Studio build system places objects in the objs directory

Because CTest didn't run properly when building shared libs, this
commit changes the CMake behaviour on (NOT UNIX) to that similar
to Visual Studio. That way, DLLs and EXEs are placed in the same
directory and running CTest with the correct DLLs being loaded
is trivial.
2022-04-13 17:37:50 +02:00
Martijn van Beurden 4256c12eac [CMake] Specifically prefer linking with static libssp
As to have a libFLAC.dll with no additional dependencies, linking
with libssp.a is preferred over linking with libssp.dll.a
2022-04-13 17:37:50 +02:00
Martijn van Beurden 6e3089b9bc [CMake] Add BUILD_SHARED_LIBS as options 2022-04-13 17:37:50 +02:00
Martijn van Beurden 805b7dba83 [CMake] Build with -lssp on MinGW 2022-04-13 17:37:50 +02:00
NotTsunami 617efda90d CMake: Make FORTIFY_SOURCE optional
* Also add in checking for libssp for MinGW
2022-04-13 17:37:50 +02:00
Martijn van Beurden f5efd956d9 [CMake] Create prettier MSVC solution files 2022-04-13 17:37:50 +02:00
Martijn van Beurden 2013738622 [CMake] Add options for better MS Visual Studio building 2022-04-13 17:37:50 +02:00
David Callu 6debf337c8 cmake: fix c/cxx compile option use with asm code 2022-04-12 21:37:51 +02:00
Martijn van Beurden e75495be3d
Change version to 1.3.4 and add placeholders for release date
Signed-off-by: Ralph Giles <giles@thaumas.net>
2022-02-20 20:54:19 -08:00
TGMarkiewicz 1ac2a6314b Fix version & requires fields in pkg config files
Details:
 - When building with CMake, pkg-config files flac.pc and flac++.pc
   are not updated with Version information. This causes a failure
   when running a configure script in opus-tools
   (https://github.com/xiph/opus-tools).

   Note that OGG_PACKAGE is set to "ogg" exactly as in the configure.ac,
   but it is only set when the building explicitly with libogg.
2021-06-24 15:59:09 -07:00
evpobr e0b62a61a7 Bunch of CMake fixes
* Add more Git ignore patterns
* Fix Ogg dependency handling (closes #203)
* Remove unneeded compiler flag (closes #204)
* Fix Visual Studio DLL build error error C2491:
  'flac_internal_rename_utf8': definition of dllimport function not
  allowed (closes #205)
* Add alias targets
* Reduce number of CMake files
* Improve CMake intrinsics detection
2020-05-03 17:13:50 +10:00
evpobr acadefddac Add more CMake options
* BUILD_PROGRAMS
** INSTALL_MANPAGES
* INSTALL_PKGCONFIG_MODULES
* INSTALL_CMAKE_CONFIG_MODULE
2020-04-05 19:31:40 +10:00
Vitaliy Kirsanov 0dfe23504c CMake: Handier way to find Iconv 2019-12-22 22:09:03 +11:00
NotTsunami f706f28322 cmake/configure.ac: Enable -fstack-protector-strong by default
This commit contains the following changes:

- Drops -fstack-protector in favor of -fstack-protector-strong.
  Consequently, the ssp-buffer-size parameter has been removed as
  -fstack-protector-strong ignores array size.

- Add new global opt-out for stack smash protection. This is enabled
  by default for both autotools and CMake builds. Users can opt out
  of stack smash protection by passing -DWITH_STACK_PROTECTOR=OFF to
  CMake or --disable-stack-smash-protection when running ./configure.

- Renames HAVE_SSP_FLAG to HAVE_STACK_PROTECTOR_FLAG in
  CMakeLists.txt to be more readable.
2019-11-20 17:12:03 +11:00
sezero cdcf0d5575 cmake_minimum_required() cleanup:
- document version requirements in the top-level file.
- remove incorrect version requirements from sub-dirs.
- set min. required version to 3.5 in top-level file.
- set minimun required version to 3.9 under docs/ .
- make documents building an option (on by default.)
  so, the tree can be built using cmake-3.5 using
 -DBUILD_DOCS=0 on the command line.
2019-11-15 19:06:58 +11:00
Ralph Giles 88ddb5b59e Fix metaflac under ctest.
The 1.3.3 release didn't update the version number in the cmake
build. It's too late to fix the release, but bringing the version
number into sync allows the metaflac test which verifies the
encoder's embedded version number to pass, giving us proper test
feedback on other changes to the development tree.
2019-08-16 06:59:42 +10:00
sezero f85a2f44f6 increase required minimum cmake version to 3.9. 2019-08-06 07:26:19 +10:00
evpobr cd03042ea9 Fix CMake configure warning
Policy CMP0054 is not set: Only interpret if() arguments as variables or keywords when
 unquoted.
2019-06-01 12:33:53 +10:00
Vitaliy Kirsanov 26cbd97884 CMAKE_BUILD_TYPE set to Release by default: improved 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov 1794b0cd79 CMAKE_BUILD_TYPE set to Release by default 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov 573dbc12ae Use of BUILD_SHARED_LIBS added 2019-05-04 11:41:48 +10:00
Vitaly Kirsanov a82a014cf1 CMake minimum required lowered to 3.1 2019-05-04 11:41:48 +10:00
evpobr d38b867f68 Add missing fseeko check 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov 2359563a46 FLAC now depends on win_utf8_io
Accidently found this missing dependency
2019-05-04 11:41:48 +10:00
Vitaly Kirsanov 8610c3acfb Added /arch:SSE2 flag 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov 60129c7018 Cosmetic change: using $<COMPILE_LANGUAGE:> 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov 5435f15be4 /test/*.sh enabled for CTest in UNIX 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov 6cd2b6cded FindOGG.cmake module added 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov c39718d7a3 CMake support added 2019-05-04 11:41:48 +10:00